如何更改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位置:

  1. 打开终端或cmd。
  2. 转到[tomcat-home]in目录。 例如:c: omcat8in
  3. 写下面的命令:Tomcat8W //ES//Tomcat8
  4. 将打开对话框,选择java选项卡(顶部窗格)。
  5. 更改Java虚拟机值。
  6. 单击确定。

注意:在Apache TomEE中的步骤相同,但步骤(3)的命令必须是:TomEE //ES

另一答案

在Eclipse中,很容易将Tomcat指向新的JVM(在此示例中为JRE6)。我的问题是我找不到去哪里。这是诀窍:

  1. 在ECLIPSE顶部菜单FILE下拉选项卡上,选择NEW, - > Other
  2. ...在新服务器上:选择向导窗口,选择:服务器 - >服务器...单击下一步
  3. 。在New Server:Define a New Server窗口中,选择Apache> Tomcat 7 Server
  4. ..现在单击蓝色和下划线标题为:配置运行时环境
  5. 在“服务器运行时环境”窗口中,
  6. ..选择Apache,展开它(单击左侧的箭头),选择TOMCAT v7.0,然后单击编辑。
  7. 您将看到一个名为EDIT SERVER RUNTIME ENVIRONMENT的窗口:TOMCAT SERVER
  8. 在此屏幕上有一个标记为JRE的下拉列表。
  9. 你会发现你的JRE列为JRE1.6.0.33。如果不使用Installed JRE按钮。
  10. 选择所需的JRE。单击“完成”按钮。
  11. 正常退出,在“服务器:服务器运行时环境”窗口中,单击“确定”
  12. 在新服务器中:定义新的服务器窗口,单击下一步
  13. 在“新服务器:添加和删除”窗口中,选择应用程序并将其安装在服务器上。
  14. 在“新建服务器:添加和删除”窗口中,单击“完成”

就这样。有趣的是,只有步骤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安装进行了检查)。

进一步阅读:

另一答案

在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版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改eclipse的tomcat版本

如何使用支持库 25.0.0 及更高版本获取片段()

如何在Java中获取Tomcat版本号[重复]

如何更改tomcat7及以上版本内存设置

如何更改tomcat7及以上版本内存设置

jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?