[英]Tomcat6 and Java 7
在linux中,是否可以在tomcat6上部署使用Java 7編寫的Web應用程序? 如果是這樣,需要修改哪些配置才能使其工作?
我已經嘗試更改tomcat6.conf
文件中的JAVA_HOME
變量並重新啟動,但是根據tomcat管理器網頁仍然使用1.6,並且只有1.6或更低版本的應用程序正確部署。
我在不同的位置安裝了jdk 1.6和1.7。
當我使用Java JDK 1.7.0編譯我的servlet時遇到了一個主要問題,由於運行時manor.major版本錯誤,Tomcat無法啟動。
要使Tomcat6使用JDK 1.7運行您的類,請執行以下操作:
使用root權限打開文件/etc/init.d/tomcat6
。
您將在第83行找到名為JDK_DIRS
的變量。
通過在行的開頭添加#
注釋它。
寫下面的內容: JDK_DIRS="/usr/lib/jvm/java-1.7.0-openjdk-i386"
保存並重啟tomcat
我只是使用默認的Tomcat安裝而沒有設置任何配置文件,除了用於GUI登錄的tomcat-users.xml
。
Apache Tomcat 6.0.35和6.0.16分別在JVM 1.7.0_03-b05(Windows + Linux)上運行。
JAVA_HOME必須指向JDK文件夾; 例如:
C:\\Program Files\\Java\\jdk1.7
(Windows)
要么
/usr/lib/jvm/java-6-sun
(Ubuntu,此鏈接指向JDK安裝)
我遇到了類似的問題,似乎JDK 1.7沒有與Tomcat 6的向后兼容性。您需要將其部署到Tomcat 7或使用JDK 1.6重新編譯。
我發現它使其中的Java 7使用的Tomcat 6的差異。
#JAVA_HOME=/usr/lib/jvm/java-7-openjdk ## Did not work
JAVA_HOME=/usr/lib/jvm/java-7-oracle ## DID WORK
通過“沒有工作”,我特別指出,在啟動我的webapp時,我得到了ClassNotFoundException: java.lang.AutoCloseable
。 此接口是Java 7的新增功能 。
Caused by: java.lang.NoClassDefFoundError: java/lang/AutoCloseable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:751)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:249)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)
... 47 more
Caused by: java.lang.ClassNotFoundException: java.lang.AutoCloseable
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 58 more
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.