如何更改TOMCAT使用的Java版本?

时间:2010-11-01 19:12:34

标签: java jsp tomcat tomcat5.5 java-home

我的系统上安装了Java 1.6和Tomcat 5.5。

但Tomcat 5.5访问Java 1.5,因此在使用JSP执行java代码时,我得到错误Bad version number in .class file

如何将Tomcat版本更改为Java 1.6?

更新

我尝试更改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)

可能是根本原因?

7 个答案:

答案 0 :(得分:36)

当你打开catalina.sh / catalina.bat时,你会看到:

  

环境变量先决条件

     

JAVA_HOME必须指向Java Development Kit安装。

因此,将环境变量JAVA_HOME设置为指向Java 6.同时确保JRE_HOME指向同一目标(如果已设置)。

更新:因为您在Windows上,see here了解如何管理环境变量

答案 1 :(得分:15)

您可以使用以下步骤更改JDK或JRE位置:

  1. 打开终端 cmd
  2. 转到[tomcat-home]\bin目录。
    例如:c:\tomcat8\bin
  3. 写下以下内容 命令:Tomcat8W //ES//Tomcat8
  4. 将打开对话框,选择 java选项卡(顶部窗格)
  5. 更改Java虚拟机值。
  6. 点击确定
  7. <强> 注意: 在Apache TomEE中执行相同的步骤,但步骤(3)命令必须为:TomEE //ES

答案 2 :(得分:12)

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

  1. 在ECLIPSE顶部菜单文件下拉标签上,选择, - &gt; 其他
  2. ...在新服务器上:选择向导窗口,选择:服务器 - &gt; 服务器 ...点击下一步
  3. 。在新服务器:定义新服务器窗口中,选择 Apache&gt; Tomcat 7服务器
  4. ..现在点击蓝色和下划线标题为: 配置运行时环境
  5. 服务器运行时环境窗口中,
  6. ..选择 Apache ,展开它(点击左侧的箭头),选择 TOMCAT v7.0 ,然后点击编辑
  7. 您将看到一个名为 EDIT SERVER RUNTIME ENVIRONMENT:TOMCAT SERVER
  8. 的窗口
  9. 在此屏幕上有一个标记为 JREs 的下拉列表。
  10. 您应该会发现您的JRE列为 JRE1.6.0.33 。如果不使用已安装的JRE 按钮。
  11. 选择所需的JRE。点击完成按钮。
  12. 正常退出,在服务器:服务器运行时环境窗口中,单击确定
  13. 新服务器:定义新服务器窗口中,点击下一步
  14. 新服务器:添加和删除窗口中,选择应用并将其安装在服务器上。
  15. 新服务器:添加和删除窗口中,点击完成
  16. 这就是全部。有趣的是,只有步骤7-10似乎很重要,并且它们将更改您之前定义的所有服务器上使用的JRE以使用TOMCAT v7.0。其余的步骤只是因为除了定义新服务器之外我找不到任何其他方式进入屏幕。还有其他人知道更简单的方法吗?

答案 3 :(得分:10)

如果您使用标准脚本启动Tomcat(即您尚未将Tomcat安装为Windows服务),则可以使用setenv.bat文件来设置JRE_HOME版本。

  

在Windows上,创建文件%CATALINA_BASE%\bin\setenv.bat,内容为:

     

set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"

     

exit /b 0

那应该是它。

您可以使用%CATALINA_BASE%\ bin \ configtest.bat对此进行测试(免责声明:我只是通过Tomcat7安装检查了这一点。)

进一步阅读:

答案 4 :(得分:4)

在Linux上,Tomcat7的配置文件位于:

/etc/sysconfig/tomcat7

...这是应该进行服务器特定配置的地方。您可以在此处设置JAVA_HOME env变量,无需创建profile.d /脚本。

这对我有用。

答案 5 :(得分:0)

这里有几个很好的答案,但我想添加一个,因为对于像我这样在Windows机器上安装Tomcat作为服务的用户可能会有所帮助。

选项3:http://www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat

基本上,打开tomcatw.exe并将Tomcat指向您需要使用的JVM版本然后重启服务。确保您部署的应用程序仍然可以正常运行。

答案 6 :(得分:-1)

测试 打开termenal或cmd。 转到[tomcat-home] \ bin目录。 例如:c:\ tomcat8 \ bin 编写以下命令:Tomcat8W // ES // Tomcat8 将打开对话框,选择java tap(顶部点击)。 更改Java虚拟机值。