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

发布于 2024-09-30 08:05:52 字数 1333 浏览 8 评论 0原文

我的系统上安装了 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)

根本原因可能是什么?

I have Java 1.6 and Tomcat 5.5 installed on my system.

But Tomcat 5.5 accesses Java 1.5 and hence as the outcome I get the error Bad version number in .class file while executing java code with JSP.

How can I change the Tomcat version to Java 1.6?

UPDATE

I tried changing the JVM that the tomcat5w.exe is pointing to the version 1.6 and now I am out of the Bad version in .class file error. But now, I get the following error.

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)

What might be the root cause?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

窗影残 2024-10-07 08:05:52

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

环境变量先决条件

JAVA_HOME 必须指向您的 Java 开发工具包安装。

因此,将环境变量 JAVA_HOME 设置为指向 Java 6。此外,还要确保 JRE_HOME 指向相同的目标(如果已设置)。

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

When you open catalina.sh / catalina.bat, you can see :

Environment Variable Prequisites

JAVA_HOME Must point at your Java Development Kit installation.

So, set your environment variable JAVA_HOME to point to Java 6. Also make sure JRE_HOME is pointing to the same target, if it is set.

Update: since you are on Windows, see here for how to manage your environment variables

意中人 2024-10-07 08:05:52

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

  1. 打开终端cmd
  2. 转到[ tomcat-home]\bin 目录。

    ex: c:\tomcat8\bin
  3. 写入以下内容
    命令:Tomcat8W //ES//Tomcat8
  4. 将打开对话框,选择java 选项卡(顶部窗格)
  5. 更改 Java 虚拟机值。
  6. 单击确定

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

You can change the JDK or JRE location using the following steps:

  1. open the terminal or cmd.
  2. go to the [tomcat-home]\bin directory.

    ex: c:\tomcat8\bin
  3. write the following
    command: Tomcat8W //ES//Tomcat8
  4. will open dialog, select the java tab(top pane).
  5. change the Java virtual Machine value.
  6. click OK.

note:
in Apache TomEE same steps, but step (3) the command must be: TomEE //ES

如果没有你 2024-10-07 08:05:52

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

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

设置“JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20”

退出 /b 0

应该就是这样了。

您可以使用 %CATALINA_BASE%\bin\configtest.bat 对此进行测试(免责声明:我仅在 Tomcat7 安装中检查过此操作)。

进一步阅读:

If you use the standard scripts to launch Tomcat (i.e. you haven't installed Tomcat as a windows service), you can use the setenv.bat file, to set your JRE_HOME version.

On Windows, create the file %CATALINA_BASE%\bin\setenv.bat, with content:

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

exit /b 0

And that should be it.

You can test this using %CATALINA_BASE%\bin\configtest.bat (Disclaimer: I've only checked this with a Tomcat7 installation).

Further Reading:

温柔女人霸气范 2024-10-07 08:05:52

在 Eclipse 中,很容易将 Tomcat 指向新的 JVM(在本例中为 JRE6)。我的问题是我找不到在哪里做。技巧如下:

  1. 在 ECLIPSE 顶部菜单 FILE 下拉选项卡上,选择 NEW、-->Other
  2. ... em>新建服务器:选择向导窗口,选择:服务器-> 服务器...单击下一步
  3. 。在“新服务器:定义新服务器”窗口中,选择“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。如果没有,请使用安装 JRE 按钮。
  10. 选择所需的 JRE。单击完成按钮。
  11. 正常退出,在服务器:服务器运行时环境窗口中,单击
  12. 新服务器:定义新服务器窗口中的确定,点击下一步
  13. 新服务器:添加和删除窗口中,选择应用程序并将其安装在服务器上。
  14. 新服务器:添加和删除窗口中,单击完成

即可。有趣的是,只有步骤 7-10 似乎很重要,它们将更改您之前定义为使用 TOMCAT v7.0 的所有服务器上使用的 JRE。其余步骤只是因为除了定义新服务器之外,我找不到任何其他方法来访问屏幕。还有人知道更简单的方法吗?

In Eclipse it is very easy to point Tomcat to a new JVM (in this example JRE6). My problem was I couldn't find where to do it. Here is the trick:

  1. On the ECLIPSE top menu FILE pull down tab, select NEW, -->Other
  2. ...on the New Server: Select A Wizard window, select: Server-> Server... click NEXT
  3. . on the New Server: Define a New Server window, select Apache> Tomcat 7 Server
  4. ..now click the line in blue and underlined entitled: Configure Runtime Environments
  5. on the Server Runtime Environments window,
  6. ..select Apache, expand it(click on the arrow to the left), select TOMCAT v7.0, and click EDIT.
  7. you will see a window called EDIT SERVER RUNTIME ENVIRONMENT: TOMCAT SERVER
  8. On this screen there is a pulldown labeled JREs.
  9. You should find your JRE listed like JRE1.6.0.33. If not use the Installed JRE button.
  10. Select the desired JRE. Click the FINISH button.
  11. Gracefully exit, in the Server: Server Runtime Environments window, click OK
  12. in the New Server: Define a new Server window, hit NEXT
  13. in the New Server: Add and Remove Window, select apps and install them on the server.
  14. in the New Server: Add and Remove Window, click Finish

That's all. Interesting, only steps 7-10 seem to matter, and they will change the JRE used on all servers you have previously defined to use TOMCAT v7.0. The rest of the steps are just because I can't find any other way to get to the screen except by defining a new server. Does anyone else know an easier way?

贪了杯 2024-10-07 08:05:52

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

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

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

There are several good answers on here but I wanted to add one since it may be helpful for users like me who have Tomcat installed as a service on a Windows machine.

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

Basically, open tomcatw.exe and point Tomcat to the version of the JVM you need to use then restart the service. Ensure your deployed applications still work as well.

季末如歌 2024-10-07 08:05:52

在 Linux 上,Tomcat7 有一个配置文件,位于:

/etc/sysconfig/tomcat7

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

这对我有用。

On Linux, Tomcat7 has a configuration file located at:

/etc/sysconfig/tomcat7

... which is where server specific configurations should be made. You can set the JAVA_HOME env variable here w/o needing to create a profile.d/ script.

This worked for me.

耀眼的星火 2024-10-07 08:05:52

对我来说,它是从“文件”> 设置的项目结构>项目>> sdk 到正确的版本,然后在运行 Tomcat 的 Intellij 中应用并确定。

For me, it got set from File > Project Structure > Project > sdk to right version and then apply and ok in Intellij from where I was running my tomcat.

晨敛清荷 2024-10-07 08:05:52

如果您使用 IDEA。

打开 Tomcat 的运行/调试配置。
并将 JRE_HOME 和 JAVA_HOME 添加到“启动”选项卡:
输入图片此处描述

If you use the IDEA.

Open a run/debug configuration of Tomcat.
and to add a JRE_HOME and JAVA_HOME to the tab Startup:
enter image description here

梦魇绽荼蘼 2024-10-07 08:05:52

测试
打开终端或cmd。
进入[tomcat-home]\bin目录。
例如:c:\tomcat8\bin
写入以下命令:Tomcat8W //ES//Tomcat8
将打开对话框,选择 java tap(top tap)。
更改 Java 虚拟机值。

test
open the termenal or cmd.
go to the [tomcat-home]\bin directory.
ex: c:\tomcat8\bin
write the following command: Tomcat8W //ES//Tomcat8
will open dialog, select the java tap(top tap).
change the Java virtual Machine value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文