2017-11-20 15 views
1

jdk-8과 함께 spring 4.1.9를 사용하고 있습니다. Eclipse IDE를 사용하고 있습니다. 람다 식 내 자바 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 
    } 
}; 

내가 해결 볼 수 있습니다 의존성

resolved dependencies part- 1

resolved dependencies part - 2

enter image description here

어디서 잘못된 것입니까?

답변

4

오류 당, 나는 생각한다, 당신은 자바 8. 참조 here

+3

실제로. asm 3.1은 10 년 전, 완전히 자바 8을 지원할 수있는 방법은 없습니다. – eis

+0

내 대답은 아래에 언급했듯이, 저지 버전을 업그레이 드 문제를 해결했다. 감사합니다 @ amdg – rsnhah

1

에서 문제가 해결 (최신) 1.19.4 1.8에서 저지 버전을 업그레이드 지원 asm.jar의 최신 버전을 사용해야합니다. 저지 버전 1.8이 @amdg에서 제안한대로 Java 8과 호환되지 않는 asm.jar (1.3 버전)에 종속 된 것으로 보입니다.