2017-11-20 9 views
1

jdk-8でspring 4.1.9を使用しています。私はEclipse IDEを使用しています。 ラムダ式と私のjava 8コードSpring 4.1.9 Javaで動作しない8

Runnable uploadSheet =() -> { 
     // My code 
}; 

は正常にコンパイルが、私はプロジェクトを実行しようとすると、私は次の例外を受け取る -

SEVERE: Servlet threw load() exception 
java.lang.ArrayIndexOutOfBoundsException: 18607 
at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:133) 
at com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner$1.f(FileSchemeScanner.java:86) 
at com.sun.jersey.core.util.Closing.f(Closing.java:71) 
at com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scanDirectory(FileSchemeScanner.java:83) 
at com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scan(FileSchemeScanner.java:71) 
at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:223) 
at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:139) 
at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80) 
at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104) 
at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78) 
at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89) 
at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700) 
at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678) 
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203) 
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

私は次の私のコードを変更すると、それは

の作品
Runnable uploadSheet = new Runnable() { 
     @Override 
     public void run() { 
      // My Code 
    } 
}; 

私は

を次のようにEclipseで解決の依存関係を見ることができます私が間違っているつもりです

resolved dependencies part- 1

resolved dependencies part - 2

enter image description here

答えて

4

はエラーごととして、私が思うに、あなたはJavaの8リファレンスhere

+3

確かに。 Asm 3.1は10歳です.Java 8を完全にサポートすることはできません。 – eis

+0

私の回答で述べたように、私は問題を解決したジャージーバージョンをアップグレードしました。ありがとう@amdg – rsnhah

1

が問題を解決(最新)1.19.4に1.8からジャージーのバージョンのアップグレードサポートasm.jarの最新バージョンを使用する必要があります。 jerseyバージョン1.8は、asm.jar(1.3バージョン)に依存していたようですが、@ amdgのようにJava 8と互換性がありませんでした。

関連する問題