sto cercando di iniziare molto semplice webapp Java sul molo (v9.0) webserver.Jetty in esecuzione su 1,6 JVM non è in grado di eseguire webapp compilato su Java 1.6
Utilizzando Maven ho costruito e creato la guerra e come può essere vedere nel file manifesto, ho usato Java 1.6u43 per la compilazione su OS X
Contenuti di META-INF/MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: irraju
Build-Jdk: 1.6.0_43
Sto eseguendo Jetty su Ubuntu e come si può vedere, ho una versione leggermente più alta di java 1.6.0_45. Se java è compatibile, la mia applicazione Java dovrebbe funzionare su pontile ma si sta venendo a mancare con la versione secondaria non supportata
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.
Altre persone su internet si trovano ad affrontare questo problema quando si cerca di eseguire applicazioni Java 1.7 compilate su 1,6 * JVM. Non riesco a capire perché questo sta accadendo nel mio caso in cui entrambi gli ENV sono 1.6 * e la distribuzione ENV ha una versione leggermente più alta di JVM.
Se distribuisco l'applicazione su Tomcat che utilizza java 1.6.0_45, non si lamenta e funziona correttamente. Mi sto perdendo qualcosa di molto banale qui?
corretto, Jetty 9 è posizionato per la prossima specifica servlet 3.1 che richiederà java 1.7 –