2014-06-21 20 views
7

IntelliJ 13.1.3 çalıştırıyorum. Yeni bir proje oluşturuyorum, RESTful Web Service'i (2.2) kontrol edin, sunucu kodu oluştur örnek kutusunu işaretleyin, ileri 'yi tıklayın, bir proje adı girin ve bitir' i tıklayın.IntelliJ'teki temel yeni RESTful projesinin çalışması başarısız oluyor, ek açıklama taraması başarısız mı?

Şimdi kod içeren bir örnek projem var. Hiç bir şey değiştirmediğim ve herşeyin o ana kadar otomatik olarak oluşturulduğu için, koşmamı ve çalışmasını sağlamalıydım.

Ne yazık ki, bu başarısız olur. IntelliJ, özellikle de örnek kodun kullandığı HttpServerFactory sınıfından içeri aktarmak için com.sun.jersey'i bulamıyor. Aynı problem gibi görünen this question'u buldum ve talimatları izleyin. Bu çalışır ve proje şimdi derler.

Böylece, bazı konsol çıktısını ve tarayıcımda localhost'u ziyaret ederek "Merhaba Dünya" elde etme yeteneğini bekledim. Bunun yerine, bir istisna üzerine yığın izini alırım. Konsol çıktısı:

Jun 21, 2014 10:24:34 AM com.sun.jersey.api.core.ClasspathResourceConfig init 
INFO: Scanning for root resource and provider classes in the paths: 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\charsets.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\deploy.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\javaws.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\jce.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\jfr.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\jfxswt.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\jsse.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\management-agent.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\plugin.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\resources.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\rt.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\access-bridge-64.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\cldrdata.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\dnsns.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\jaccess.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\jfxrt.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\localedata.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\nashorn.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunec.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunjce_provider.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunmscapi.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\sunpkcs11.jar 
    D:\Program Files\Java\jdk1.8.0_05\jre\lib\ext\zipfs.jar 
    D:\test\target\classes 
    D:\test\lib\jersey-container-servlet.jar 
    D:\test\lib\jersey-container-servlet-core.jar 
    D:\test\lib\jersey-client.jar 
    D:\test\lib\javax.ws.rs-api-2.0.jar 
    D:\test\lib\jersey-common.jar 
    D:\test\lib\jersey-server.jar 
    C:\Users\Douglas\.m2\repository\com\sun\jersey\jersey-server\1.18.1\jersey-server-1.18.1.jar 
    C:\Users\Douglas\.m2\repository\com\sun\jersey\jersey-core\1.18.1\jersey-core-1.18.1.jar 
    D:\Program Files\JetBrains\IntelliJ IDEA 13.1.3\lib\idea_rt.jar 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 39168 
    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.JarFileScanner.scan(JarFileScanner.java:97) 
    at com.sun.jersey.core.spi.scanning.JarFileScanner$1.f(JarFileScanner.java:74) 
    at com.sun.jersey.core.util.Closing.f(Closing.java:71) 
    at com.sun.jersey.core.spi.scanning.JarFileScanner.scan(JarFileScanner.java:71) 
    at com.sun.jersey.core.spi.scanning.FilesScanner.scan(FilesScanner.java:83) 
    at com.sun.jersey.core.spi.scanning.FilesScanner.scan(FilesScanner.java:74) 
    at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80) 
    at com.sun.jersey.api.core.ClasspathResourceConfig.init(ClasspathResourceConfig.java:119) 
    at com.sun.jersey.api.core.ClasspathResourceConfig.<init>(ClasspathResourceConfig.java:101) 
    at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:263) 
    at com.sun.jersey.api.container.ContainerFactory.createContainer(ContainerFactory.java:246) 
    at com.sun.jersey.api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:117) 
    at com.sun.jersey.api.container.httpserver.HttpServerFactory.create(HttpServerFactory.java:92) 
    at example.HelloWorld.main(HelloWorld.java:26) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 

Process finished with exit code 1 

Tüm bu sorun üzerinde bulmayı başardılar bozuk Java sınıfı bir ek açıklama tarama başarısız olmasına neden olan bir yerde var olduğunu ileri süren this self-solved post olduğunu, ama benim Platformu Ayarları kontrol ettim/SDK'lar ve hiçbir şey yersiz görünüyor ve yine de tamamen taze bir yüklemede koşuyorum.

Bunu nasıl düzelteceğinizle ilgili herhangi bir fikir veya içe aktarmanın neden düzeltilmesi gerekiyordu?

cevap

4

Aynı sorun, Java 8 altında çalışıyordu. Sunucunun çalışmasına izin verme anlamında, Java 7'ye "sabit" duruma getirildi.

0

Jersey'i 1.19'a yükseltmek bunu yapmalıdır.