2017-07-20 1 views
2

私のアプリケーションにはJDK1.7が使用されています。JDK 1.7でJersey 2.26を実行するにはどうすればよいですか?

私はジャージ2.26をアップグレードし、今私はエラーを取得しています:

严重: Servlet [Jersey Web Application] in web application [/spcsis-1.0] threw load() exception 
java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer : Unsupported major.minor version 52.0 (unable to load class org.glassfish.jersey.servlet.ServletContainer) 
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3129) 
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1341) 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1827) 
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701) 
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504) 
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486) 
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1146) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5318) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5610) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:724) 

私は1.8にJDKを変更しましたし、それは動作しますが、私は私のプロジェクトのためにjdk1.7使用する必要があります。

誰かが私の手助けをすることができますか?

答えて

5

使用してジャージを再構築するだろう、すべてのモジュールがサポートする唯一のJava SE 8

参照ジャージdependencies:バージョン2.6まで

、ジャージーJava SE 6でコンパイルされました。これはJersey 2.7で が変更されました。

バージョン2.25.xまでほとんどのJerseyコンポーネントは、 Java SE 7ターゲットでコンパイルされています。つまり、Java SE 7〜 は、最新の ジャージーを使用しているアプリケーションをコンパイルして実行する必要があります。コアのみ共通およびコア・クライアントモジュールはまだで実行可能なJavaクラスのバージョンで をコンパイルされたJava SE 6

ジャージー2.26以来、すべてのJava SE 8を使用して構築されているモジュールや古い上でそれを実行するためのサポートが ありませんJava SEディストリビューション

+0

私はジャージ2.26を2.25に変更した方がいいですし、JDK 1.7を使うことができます。右 ? – pangguoming

+0

はい、JDK 1.7を使用する必要があるためです – user7294900

1

あなたの唯一のオプションはジャージー2.26からのJava 7を

+0

私はジャージ2.25を使用できますか?バージョンはJava 7でビルドされていますか? – pangguoming

0

Jerseyを2.13まで使用する必要があります。これはJDK 1.7でコンパイルされた最後のバージョンです(JAR内のMANIFESTを参照してください)。

関連する問題