Tôi đang cố gắng khởi động ứng dụng web Java rất đơn giản trên máy chủ web Jetty (v9.0).Cầu cảng chạy trên 1.6 JVM không thể chạy webapp được biên dịch trên Java 1.6
Sử dụng maven tôi đã xây dựng và tạo ra chiến tranh và như có thể được nhìn thấy trong file manifest, tôi sử dụng Java 1.6u43 cho biên soạn trên OS X
Nội dung 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
Tôi đang chạy Jetty trên Ubuntu và có thể thấy, tôi có phiên bản cao hơn một chút của java 1.6.0_45. Nếu java tương thích ngược, ứng dụng java của tôi nên chạy trên cầu cảng nhưng nó là không có phiên bản nhỏ được hỗ trợ
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.
Những người khác trên internet đang đối mặt với vấn đề này khi họ đang cố gắng để chạy các ứng dụng Java 1.7 biên soạn trên 1,6 * JVM. Tôi không thể tìm ra lý do tại sao điều này xảy ra trong trường hợp của tôi khi cả ENV là 1,6 * và ENV triển khai có phiên bản JVM cao hơn một chút.
Nếu tôi triển khai ứng dụng trên Tomcat đang sử dụng java 1.6.0_45, nó không phàn nàn và hoạt động tốt. Tôi có thiếu thứ gì đó tầm thường ở đây không?
chính xác, Jetty 9 được định vị để sớm được phát hành servlet 3.1 đặc điểm kỹ thuật sẽ yêu cầu java 1.7 –