Jersey sürüm 1.18.1 (com.sun.jersey), Spring ve Java'yı kullanıyorum 8. Bir REST hizmetinde bir Java 8 Lambda ifadesi koyarsam, çöker. Lambda ifadesini kaldırırsam çalışır.Jersey ve Java 8 (Lambda ifadesi)
@Service
@Path("/hello")
public class Hello {
@GET
public String hello() {
new ArrayList<String>().stream().filter((str) -> str.length() > 0);
return "hello";
}
}
Ben com.sun.jersey (1.18.1 versiyonu) kullanın.
Tam StackTrace:
SEVERE: Allocate exception for servlet jersey-serlvet java.lang.ArrayIndexOutOfBoundsException: 52264
at jersey.repackaged.org.objectweb.asm.ClassReader.readClass(ClassReader.java:1976)
at jersey.repackaged.org.objectweb.asm.ClassReader.accept(ClassReader.java:464)
at jersey.repackaged.org.objectweb.asm.ClassReader.accept(ClassReader.java:420)
at com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:138)
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)
nasıl düzeltilir söyle.
[Muhtemelen REST Hizmeti İçinde Java 8 Lambda İfadesi Çalışmıyor] olası bir kopyası (http://stackoverflow.com/quest iyonlar/22917462/java-8-lambda-ifade-içinde-dinlenme-servis-çalışmayan) – andersschuller
Evet, ama bu çözüm işe yaramıyor. Denedim. – Malahov
@Malahov, bu yüzden Jersey 2.7+ ile denediniz ve aynı sorunu aldınız mı? – assylias