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

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

如何将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)

根本原因可能是什么?

有帮助吗?

解决方案

打开catalina.sh / catalina.bat时,您可以看到:

环境变量的先决条件

Java_home必须指向您的Java开发套件安装。

因此,设置您的环境变量 JAVA_HOME 指向Java 6.还确保 JRE_HOME 如果设置了相同的目标,则指向相同的目标。

更新:由于您在Windows上, 看这里 有关如何管理环境变量

其他提示

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

  1. 打开 终端 或者 CMD.
  2. [tomcat-home]\bin 目录。
    前任: c:\tomcat8\bin
  3. 编写以下命令: Tomcat8W //ES//Tomcat8
  4. 将打开对话框,选择 Java Tab(顶部窗格).
  5. 更改Java虚拟机器值。
  6. 点击 好的.

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

在Eclipse中,很容易将Tomcat指向新的JVM(在此示例JRE6中)。我的问题是我找不到在哪里做。这是一个技巧:

  1. 在Eclipse顶部菜单上 文件 下拉选项卡,选择 新的, -->其他
  2. ...在 新服务器:选择向导 窗口,选择: 服务器-> 服务器... 点击 下一个
  3. . 。在 新服务器:定义新服务器 窗口,选择 Apache> Tomcat 7服务器
  4. ..现在单击蓝色和下划线的行,标题为: 配置运行时环境
  5. 服务器运行时环境 窗户,
  6. ..选择 apache, ,展开它(单击左侧的箭头),选择 Tomcat v7.0, ,然后单击 编辑.
  7. 您会看到一个窗口 编辑服务器运行时环境:Tomcat服务器
  8. 在此屏幕上有一个标签的下拉 JRES.
  9. 您应该找到列出的JRE JRE1.6.0.33. 。如果不使用 安装了JRE 按钮。
  10. 选择所需的JRE。点击 结束 按钮。
  11. 优雅地退出 服务器:服务器运行时环境 窗口,单击 好的
  12. 在里面 新服务器:定义新服务器 窗口,命中 下一个
  13. 在里面 新服务器:添加和删除 窗口,选择应用程序并将其安装在服务器上。
  14. 在里面 新服务器:添加和删除 窗口,单击 结束

就这样。有趣的是,只有步骤7-10似乎很重要,它们将更改以前定义用于使用Tomcat v7.0的所有服务器上使用的JRE。其余步骤仅仅是因为我找不到其他方法来访问屏幕,除非定义新服务器。其他人知道一种简单的方法吗?

如果您使用标准脚本启动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安装对此进行检查)。

进一步阅读:

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

/etc/sysconfig/tomcat7

...这是应该制作特定于服务器的配置的地方。您可以在此处设置Java_home Env变量,而o需要创建一个profile.d/脚本。

这对我有用。

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

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

基本上,打开tomcatw.exe并将tomcat指向您需要使用的JVM的版本,然后重新启动服务。确保您部署的应用程序也仍然有效。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top