如何更改TOMCAT使用的Java版本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改TOMCAT使用的Java版本?相关的知识,希望对你有一定的参考价值。
我的系统上安装了Java 1.6和Tomcat 5.5。
但是Tomcat 5.5访问Java 1.5,因此作为结果我在使用JSP执行java代码时得到错误Bad version number in .class file
。
如何将Tomcat版本更改为Java 1.6?
UPDATE
我尝试更改tomcat5w.exe指向版本1.6的JVM,现在我没有Bad version in .class file
错误。但现在,我收到以下错误。
exception
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
java.lang.NullPointerException
myfirst.SearchLink.checkURL(SearchLink.java:20)
org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
可能是根本原因?
当你打开catalina.sh / catalina.bat时,你会看到:
环境变量先决条件
JAVA_HOME必须指向Java Development Kit安装。
因此,将环境变量JAVA_HOME
设置为指向Java 6.同时确保JRE_HOME
指向同一目标(如果已设置)。
更新:因为您在Windows上,see here了解如何管理您的环境变量
您可以使用以下步骤更改JDK或JRE位置:
- 打开终端或cmd。
- 转到
[tomcat-home]in
目录。 例如:c: omcat8in
- 写下面的命令:
Tomcat8W //ES//Tomcat8
- 将打开对话框,选择java选项卡(顶部窗格)。
- 更改Java虚拟机值。
- 单击确定。
注意:在Apache TomEE中的步骤相同,但步骤(3)的命令必须是:TomEE //ES
在Eclipse中,很容易将Tomcat指向新的JVM(在此示例中为JRE6)。我的问题是我找不到去哪里。这是诀窍:
- 在ECLIPSE顶部菜单FILE下拉选项卡上,选择NEW, - > Other
- ...在新服务器上:选择向导窗口,选择:服务器 - >服务器...单击下一步
- 。在New Server:Define a New Server窗口中,选择Apache> Tomcat 7 Server
- ..现在单击蓝色和下划线标题为:配置运行时环境
- 在“服务器运行时环境”窗口中,
- ..选择Apache,展开它(单击左侧的箭头),选择TOMCAT v7.0,然后单击编辑。
- 您将看到一个名为EDIT SERVER RUNTIME ENVIRONMENT的窗口:TOMCAT SERVER
- 在此屏幕上有一个标记为JRE的下拉列表。
- 你会发现你的JRE列为JRE1.6.0.33。如果不使用Installed JRE按钮。
- 选择所需的JRE。单击“完成”按钮。
- 正常退出,在“服务器:服务器运行时环境”窗口中,单击“确定”
- 在新服务器中:定义新的服务器窗口,单击下一步
- 在“新服务器:添加和删除”窗口中,选择应用程序并将其安装在服务器上。
- 在“新建服务器:添加和删除”窗口中,单击“完成”
就这样。有趣的是,只有步骤7-10似乎很重要,并且它们将更改您之前定义的所有服务器上使用的JRE以使用TOMCAT v7.0。其余的步骤只是因为除了定义新服务器之外我找不到任何其他方式进入屏幕。有没有其他人知道更简单的方法?
如果使用标准脚本启动Tomcat(即您尚未将Tomcat安装为Windows服务),则可以使用setenv.bat文件来设置JRE_HOME版本。
在Windows上,创建文件
%CATALINA_BASE%insetenv.bat
,内容为:
set "JRE_HOME=%ProgramFiles%Javajre1.6.0_20"
exit /b 0
这应该是它。
您可以使用%CATALINA_BASE% bin configtest.bat对此进行测试(免责声明:我只使用Tomcat7安装进行了检查)。
进一步阅读:
- http://tomcat.apache.org/tomcat-5.5-doc/RUNNING.txt - 部分:'高级配置 - 多个Tomcat实例'
- http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt - 部分:'(3.4)使用“setenv”脚本(可选,推荐)'
在Linux上,Tomcat7的配置文件位于:
/etc/sysconfig/tomcat7
...应该在哪里进行服务器特定配置。您可以在此处设置JAVA_HOME env变量,而无需创建profile.d /脚本。
这对我有用。
这里有几个很好的答案,但我想添加一个,因为它可能对像我这样在Windows机器上安装Tomcat作为服务的用户有所帮助。
选项3:http://www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat
基本上,打开tomcatw.exe并将Tomcat指向您需要使用的JVM版本然后重启服务。确保部署的应用程序仍然可以正常运行。
测试打开termenal或cmd。转到[tomcat-home] bin目录。 ex:c: tomcat8 bin写下面的命令:Tomcat8W // ES // Tomcat8会打开对话框,选择java tap(顶部点击)。更改Java虚拟机值。
以上是关于如何更改TOMCAT使用的Java版本?的主要内容,如果未能解决你的问题,请参考以下文章