Jetty(v9.0)Webサーバーで非常に単純なJava Webアプリケーションを開始しようとしています。1.6 JVMで実行中のJettyはJava 1.6でコンパイルされたwebappを実行できません
Mavenを使用して、私は
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: irraju
Build-Jdk: 1.6.0_43
MANIFEST.MF
META-INF /の
内容を構築し、戦争を作成し、マニフェストファイルで見ることができるように、私はOS X上でコンパイル用のJava 1.6u43を使用しました
私はUbuntuでJettyを実行していますが、わかるように、私はJava 1.6.0_45より少し上のバージョンです。 Javaは下位互換性がある場合は、私のJavaアプリケーションは、桟橋上で実行する必要がありますが、それはサポートされていないマイナーバージョンで失敗している
root# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)
root# java -DDEBUG -jar start.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.eclipse.jetty.start.Main. Program will exit.
インターネット上
他の人々は、彼らが* 1.6上でJava 1.7コンパイルされたアプリケーションを実行しようとしているこの問題に直面している JVM。 ENVが1.6 *で、ENVの配置がJVMのバージョンが少し上がっている私の場合、なぜこのようなことが起こっているのか理解できません。
Java 1.6.0_45を使用しているTomcatにアプリケーションをデプロイすると、問題は発生せず正常に動作します。私はここで何か非常に些細なものを逃していますか?
が正しい場合、Jetty 9はすぐにリリースされるサーブレット3.1仕様のために配置されており、これにはJava 1.7が必要です –