我正在尝试在服务器实例(Windows Server 2008 R2 Enterprise的新安装)上设置Tomcat 6。我想通过URL提供Java EE服务。
它通过localhost服务器上的作品。我将.war文件放入我的文件中/webapps,在中运行startup.bat /bin,然后localhost:80/myWebServce在浏览器中导航到并转到我的欢迎页面。
localhost
/webapps
/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
我的问题是:为什么?我认为JDK只是JRE +一些开发工具(IDE,调试器等)。为什么tomcat需要JDK作为服务运行,而不是在localhost上运行?运行Web服务所需的JDK中有什么?
Tomcat不需要JDK。Tomcat附带了Eclipse JDT编译器,Tomcat将其用作* .jsp-> * .java-> * .class进程的一部分,以将JSP转换为已编译的Servlet。
但是,如果指定JAVA_HOME,则Tomcat希望它指向完整的JDK安装。如果要使用JRE,则需要设置JRE_HOME而不是JAVA_HOME。