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

如何更改TOMCAT使用的Java版本?,java,jsp,tomcat,tomcat5.5,java-home,Java,Jsp,Tomcat,Tomcat5.5,Java Home,我的系统上安装了Java1.6和Tomcat5.5 但是Tomcat5.5访问了Java1.5,因此在使用JSP执行Java代码时,我在.class文件中得到了错误的版本号 如何将Tomcat版本更改为Java1.6 更新 我尝试更改tomcat5w.exe指向1.6版的JVM,现在我已排除.class文件中的错误版本。但是现在,我得到了以下错误 exception org.apache.jasper.JasperException org.apache.jasper.servlet.JspS

我的系统上安装了Java1.6和Tomcat5.5

但是Tomcat5.5访问了Java1.5,因此在使用JSP执行Java代码时,我在.class文件中得到了错误的版本号

如何将Tomcat版本更改为Java1.6

更新

我尝试更改tomcat5w.exe指向1.6版的JVM,现在我已排除.class文件中的
错误版本。但是现在,我得到了以下错误

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\u HOME
设置为指向JAVA 6。另外,如果设置了JRE_HOME,请确保它指向同一目标


更新:因为您在Windows上,所以要了解如何在Eclipse中管理环境变量,很容易将Tomcat指向一个新的JVM(在本例中为JRE6)。我的问题是我找不到在哪里做。这里是诀窍:

  • 在ECLIPSE顶部菜单的“文件”下拉选项卡上,选择“新建”、“其他”
  • …在新服务器上:选择向导窗口,选择:服务器->服务器。。。单击下一步
  • 。在新服务器上:定义新服务器窗口,选择Apache>tomcat7server
  • …现在单击标题为:配置运行时环境的蓝色下划线行
  • 在“服务器运行时环境”窗口中
  • ..选择Apache,展开它(单击左边的箭头),选择TOMCAT v7.0,然后单击编辑
  • 您将看到一个名为“编辑服务器运行时环境:TOMCAT服务器”的窗口
  • 在此屏幕上有一个标签为JREs的下拉列表
  • 您应该会发现您的JRE列表如下JRE1.6.0.33。如果没有,请使用已安装的JRE按钮
  • 选择所需的JRE。单击完成按钮
  • 优雅地退出,在服务器:服务器运行时环境窗口中,单击确定
  • 在新服务器:定义新服务器窗口中,点击下一步
  • 在“新建服务器:添加和删除”窗口中,选择应用并将其安装到服务器上
  • 在新服务器:添加和删除窗口中,单击完成

  • 就这些。有趣的是,只有步骤7-10看起来很重要,它们会将您之前定义的所有服务器上使用的JRE更改为使用TOMCAT v7.0。剩下的步骤只是因为除了定义一个新的服务器,我找不到任何其他方法进入屏幕。其他人知道更简单的方法吗?

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

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


    这对我很有用。

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

    在Windows上,创建文件
    %CATALINA\u BASE%\bin\setenv.bat
    ,内容如下:

    设置“JRE\u HOME=%ProgramFiles%\Java\jre1.6.0\u 20”

    退出/b0

    应该是这样

    您可以使用%CATALINA\u BASE%\bin\configtest.bat对其进行测试(免责声明:我只在Tomcat7安装中检查过这一点)

    进一步阅读:

    • -第节: “高级配置-多个Tomcat实例”
    • -第节:'(3.4) 使用“setenv”脚本(可选,推荐)'

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

        备选案文3:


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

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

      • 打开终端cmd
      • 转到
        [tomcat home]\bin
        目录。
        例如:
        c:\tomcat8\bin
      • 写下 命令:
        Tomcat8W//ES//Tomcat8
      • 将打开对话框,选择java选项卡(顶部窗格)
      • 更改Java虚拟机值
      • 单击确定
      • 注意: 在Apache TomEE中,步骤相同,但步骤(3)命令必须是:
        TomEE//ES

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

        我在Tomact 5.5文件夹中找不到这两个文件catalina.sh/catalina.bat,它们位于
        /bin
        中。但这不是重点。您必须设置环境变量。不要触摸catalina文件。您的意思是从此更改JVM
        C:\Program files\Java\jre1.5.0\u 04\bin\client\JVM.dll
        ?Java\u主页仅指向1.6版。。但是当我使用代码
        out.println(“Java版本=”+System.getProperty(“Java.Version”))时
        在我的jsp代码中,我得到的版本是1.5.0\u 04\运行startup.bat的输出是什么?应该有4行显示不同的主变量。您的异常现在完全不同了。这是一个新问题。(但在那之前做些调查;)我纠正了这个问题。。。非常感谢你对波佐的支持。。衷心感谢切克Tomcat教程:,例如tomcat7//US