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

LGA*_*GAP 45 java jsp tomcat tomcat5.5 java-home

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

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

如何将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)
Run Code Online (Sandbox Code Playgroud)

可能是根本原因?

Boz*_*zho 37

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

环境变量先决条件

JAVA_HOME必须指向Java Development Kit安装.

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

更新:由于您使用的是Windows,请参阅此处了解如何管理环境变量

  • 运行 startup.bat 的输出是什么?应该有 4 行显示不同的 _HOME 变量。 (2认同)

Haz*_*zim 15

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

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

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


Jal*_*kin 12

在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.其余的步骤只是因为除了定义新服务器之外我找不到任何其他方式进入屏幕.有没有其他人知道更简单的方法?


Nic*_*aly 11

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

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

%CATALINA_BASE%\bin\setenv.bat

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

这应该是它.

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

进一步阅读: