Tomcat / Ubuntu没有使用正确的JDK

时间:2013-09-12 08:13:50

标签: java ubuntu amazon-web-services tomcat6

我正在尝试使用从AWS上运行的ubuntu实例创建的AMI。原始实例安装了java 1.7.0_21,JAVA_HOME指向它。我编译我的类,兼容性设置为1.7,因为我需要javax.net.ssl包。我的应用程序在tomcat中运行良好。但是当我尝试运行从AMI创建的实例时,我得到Unsupported major.minor version 51.0 (unable to load class 错误。我对正在运行的进程执行ps,并且我看到tomcat已按预期启动了jdk 1.7.0_21。我不知道为什么会出现这个错误。

  ubuntu@XXXX:~$ ps aux | grep tomcat
    tomcat6   2554  0.8 35.3 997460 213768 ?       Sl   07:01   0:21 /usr/local/java/jdk1.7.0_21/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start

1 个答案:

答案 0 :(得分:0)

java.lang.UnsupportedClassVersionError因为在编译期间JDK较高而在运行时期间JDK较低而发生。您能否检查一下您的代码编译版本?

显示的版本号描述了类文件兼容的JRE的版本。

报告的主要数字是:

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(来源:http://en.wikipedia.org/wiki/Java_class_file