在服务器上设置Tomcat 7:"NB:JAVA_HOME应该指向JDK而不是JRE"......为什么?

Pau*_*aul 7 java configuration tomcat

我正在尝试在我的服务器实例上设置Tomcat 6(全新安装Windows Server 2008 R2 Enterprise).我想通过URL提供Java EE服务.

它通过localhost服务器工作.我把.war文件放在我的/webapps,运行startup.bat /bin然后我导航到localhost:80/myWebServce我的浏览器,转到我的欢迎页面.

当我尝试通过运行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
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么?我认为JDK只是一个JRE +一些开发工具(一个IDE,一个调试器等).为什么tomcat需要JDK作为服务运行,而不是在localhost上运行?JDK中运行Web服务需要什么?

小智 9

从JRE_HOME/JAVA_HOME变量的末尾删除分号.不应该有分号......

变量:JAVA_HOME值:C:\ Program Files\Java\jdk1.6.0(注意:末尾没有分号)

变量:JRE_HOME值:C:\ Program Files\Java\jre1.6.0(注意:末尾没有分号)

应用以上更改并成功运行tomcat.


Mar*_*mas 6

Tomcat不需要JDK.Tomcat附带Eclipse JDT编译器,Tomcat将其用作*.jsp - >*.java - >*.class进程的一部分,以将JSP转换为已编译的Servlet.

但是,如果指定JAVA_HOME,则Tomcat希望指向完整的JDK安装.如果要使用JRE,则需要设置JRE_HOME而不是JAVA_HOME.