在服务器上设置Tomcat 7:“;注意:JAVA“主页应该指向JDK而不是JRE”;。。。为什么?
我正在尝试在我的服务器实例(WindowsServer2008R2企业版的新安装)上设置Tomcat6。我想通过URL提供JavaEE服务 它通过服务器上的在服务器上设置Tomcat 7:“;注意:JAVA“主页应该指向JDK而不是JRE”;。。。为什么?,java,tomcat,configuration,Java,Tomcat,Configuration,我正在尝试在我的服务器实例(WindowsServer2008R2企业版的新安装)上设置Tomcat6。我想通过URL提供JavaEE服务 它通过服务器上的localhost工作。我将.war文件放入我的/webapps,在/bin中运行startup.bat,然后在浏览器中导航到localhost:80/mywebservice,以直接进入我的欢迎页面 当我试图通过运行service.bat(在/bin文件夹中)来创建服务时,我收到一条错误消息,上面说: The JAVA_HOME envir
localhost
工作。我将.war文件放入我的/webapps
,在/bin
中运行startup.bat,然后在浏览器中导航到localhost:80/mywebservice
,以直接进入我的欢迎页面
当我试图通过运行service.bat(在/bin
文件夹中)来创建服务时,我收到一条错误消息,上面说:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
我的问题是:为什么?我认为JDK只是一个JRE+一些开发工具(IDE、调试器等)。为什么tomcat需要JDK作为服务运行,而不是在本地主机上运行?JDK中运行Web服务需要什么 Web容器需要JDK来支持JSP等源代码的编译,因为JDK中存在编译器,它也需要JDK。(这是它可能需要JDK的原因之一)将JAVA_HOME作为系统变量而不是环境变量,重新启动应用程序(Tomcat)。它应该很好用
或者,您可能面临与前面讨论的问题相同的问题是的,我们需要jdk来运行您的需求。。因为您提供的是.war文件,所以我们需要jar命令从war、jar中提取内容。。文件夹。jar命令在JRE中找不到,但仅在JDK中找到。如果您希望签出JDK、JRE。这是我观察到的最基本的东西,与其他东西不同。Tomcat不需要JDK。Tomcat附带EclipseJDT编译器,Tomcat使用该编译器作为*.jsp->*.java->*.class进程的一部分,将jsp转换为已编译的servlet
但是,如果指定JAVA_HOME,Tomcat希望它指向完整的JDK安装。如果您想使用JRE,那么您需要设置JRE\U HOME而不是JAVA\U HOME。检查JAVA\U HOME是否设置正确,如果您安装了JDK,则为JRE创建JRE\U HOME,将为JDK设置JAVA\U HOME。也可以在
“C:/Progra~1/…”
和“C:/Program Files/…”
之间切换,以确保系统正确识别路径从JRE\u HOME/JAVA\u HOME变量的末尾删除分号。不应该有分号
变量:JAVA_HOME
值:C:\Program Files\Java\jdk1.6.0(注意:末尾没有分号)
变量:JRE_HOME
值:C:\Program Files\Java\jre1.6.0(注意:末尾没有分号)
应用上述更改并成功运行tomcat。我也遇到了同样的问题。指定JRE_HOME并收到相同的错误消息。 在我删除系统环境变量JAVA_HOME并重新启动后,错误消息仍然存在。
事实证明,我的JRE路径实际上不正确,错误消息令人困惑。这不是他的问题。他的问题是为什么它需要一个JDK。不是,这只是一个默认消息,当出现问题时会显示。