2015-09-02 119 views
5

我想讓我的Tomcat JVM版本爲7.所以我遵循這裏的指令:How to change Java version used by TOMCAT?並將我的JAVA_HOME更改爲我的jdk7目錄。Tomcat JVM版本不同於JAVA_HOME

要確保,這裏是命令:

$ echo $JAVA_HOME 
/usr/lib/jvm/java-7-openjdk-amd64 

我重新啓動Tomcat的。我想確認,跑我從這裏得到了命令:https://stackoverflow.com/a/10822328/998318

$ /usr/share/tomcat7/bin/catalina.sh version 
/usr/share/tomcat7/bin/catalina.sh: 1: /usr/share/tomcat7/bin/setenv.sh: -Dcom.sun.management.jmxremote: not found 
/usr/share/tomcat7/bin/catalina.sh: 2: /usr/share/tomcat7/bin/setenv.sh: -Dcom.sun.management.jmxremote.port=1099: not found 
/usr/share/tomcat7/bin/catalina.sh: 3: /usr/share/tomcat7/bin/setenv.sh: -Dcom.sun.management.jmxremote.authenticate=false: not found 
/usr/share/tomcat7/bin/catalina.sh: 4: /usr/share/tomcat7/bin/setenv.sh: -Dcom.sun.management.jmxremote.ssl=false: not found 
Using CATALINA_BASE: /usr/share/tomcat7 
Using CATALINA_HOME: /usr/share/tomcat7 
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp 
Using JRE_HOME:  /usr/lib/jvm/java-7-openjdk-amd64 
Using CLASSPATH:  /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar 
Server version: Apache Tomcat/7.0.28 
Server built: Apr 8 2014 08:47:08 
Server number: 7.0.28.0 
OS Name:  Linux 
OS Version:  3.16.0-0.bpo.4-amd64 
Architecture: amd64 
JVM Version: 1.7.0_79-b14 
JVM Vendor:  Oracle Corporation 

確實我看到JVM版本爲1.7.0_79-b14的

,當我去網上經理,我看到這個: enter image description here

這是怎麼回事?而事實上,我開始這整個過程中,因爲我的戰爭是沒有得到,因爲版本不匹配的部署:

Caused by: java.lang.UnsupportedClassVersionError: 
org/glassfish/jersey/servlet/init/JerseyServletContainerInitializer : 
Unsupported major.minor version 51.0 (unable to load class 
org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer) 

更新 的要求,這裏是運行Java的版本輸出:

$ java -version 
java version "1.7.0_79" 
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-1~deb7u1) 
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) 
+0

也許JRE_HOME錯了嗎? – MyPasswordIsLasercats

+0

@MyPasswordIsLasercats但JRE_HOME與JAVA_HOME相同並且正確 –

+0

檢查PATH。它應該包括JAVA_HOME/bin – Amila

回答

4

*nix,創建SETENV。 sh文件包含以下內容:

JRE_HOME=/usr/java/jdk1.7.0_03/jre 
CATALINA_PID="$CATALINA_BASE/tomcat.pid" 
+0

這工作,種。我使用'export JRE_HOME =「/ usr/lib/jvm/java-7-openjdk-amd64」'沒有第二行,它全部修復! –

3

根據this article有4種不同的方式:

1.更改JRE通過更新JAVA_HOME或JRE_HOME

這種方式是實現很簡單,但它僅適用於從(作爲服務安裝在對比Tomcat)的一個zip分發 Tomcat安裝。

  • 如果僅JAVA_HOME環境變量被設置,Tomcat將所述JRE下運行由JAVA_HOME變量指定的JDK的一部分。因此,我們通過更新此變量來更改Tomcat的JRE

  • 如果同時設置了JAVA_HOMEJRE_HOME環境變量,則首選JRE_HOME。下面是爲JRE_HOME變量(在Windows路徑)有效值的例子:通過使用「SETENV」腳本

JRE_HOME=C:\Program Files\Java\jre7 

2.更改JRE

我們可以通過在稱爲setenv.bat(在Windows上)或setenv.sh(在*nix上)的腳本文件中設置JRE_HOME變量來更改Tomcat的JRE。此文件默認情況下不存在,因此創建此文件並將其放在CATALINA_BASE\bin目錄下(CATALINA_BASE是Tomcat安裝目錄)。

在Windows上,下面的內容創建setenv.bat文件:

set "JRE_HOME=C:\Program Files\Java\jdk1.7.0_03\jre" 
exit /b 0 

3. Tomcat服務經理

更改JRE進而,由於作爲服務安裝Tomcat的安裝(在Windows上),我們可以通過配置Tomcat服務管理器程序中的Java虛擬機設置(例如Tomcat7w.exe)來更改運行Tomcat的JRE版本,如以下屏幕截圖所示:

enter image description here

4.在Eclipse IDE更改JRE

要更改JRE版本在Eclipse中Tomcat的運行時間,進入菜單窗口>首選項。在Preferences對話框中,打開服務器>運行時環境的節點,在列表中選擇一個Tomcat版本,然後單擊編輯按鈕

入住進一步信息在linked文章