IntelliJ中的基本新RESTful项目无法运行,注释扫描失败?
我正在运行IntelliJ 13.1.3。 我创建一个新项目,检查REST风格的Web服务(2.2),选中生成服务器代码示例框,单击下一步,输入项目名称,然后单击完成。
我现在有一个带有代码的示例项目。 由于我没有改变任何内容,并且这些内容都是自动生成的,所以我应该能够运行并使其运行。
可悲的是,这失败了。 IntelliJ无法找到com.sun.jersey来导入任何内容,特别是示例代码使用的HttpServerFactory类。 我发现这个问题似乎是同样的问题,并按照说明那里。 这是有效的,现在编译项目。
所以,我跑了,期待一些控制台输出和通过在浏览器中访问本地主机来获得“Hello World”的能力。 相反,我得到一个异常堆栈跟踪。 控制台输出是:
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 FilesJavajdk1.8.0_05jrelibcharsets.jar
D:Program FilesJavajdk1.8.0_05jrelibdeploy.jar
D:Program FilesJavajdk1.8.0_05jrelibjavaws.jar
D:Program FilesJavajdk1.8.0_05jrelibjce.jar
D:Program FilesJavajdk1.8.0_05jrelibjfr.jar
D:Program FilesJavajdk1.8.0_05jrelibjfxswt.jar
D:Program FilesJavajdk1.8.0_05jrelibjsse.jar
D:Program FilesJavajdk1.8.0_05jrelibmanagement-agent.jar
D:Program FilesJavajdk1.8.0_05jrelibplugin.jar
D:Program FilesJavajdk1.8.0_05jrelibresources.jar
D:Program FilesJavajdk1.8.0_05jrelibrt.jar
D:Program FilesJavajdk1.8.0_05jrelibextaccess-bridge-64.jar
D:Program FilesJavajdk1.8.0_05jrelibextcldrdata.jar
D:Program FilesJavajdk1.8.0_05jrelibextdnsns.jar
D:Program FilesJavajdk1.8.0_05jrelibextjaccess.jar
D:Program FilesJavajdk1.8.0_05jrelibextjfxrt.jar
D:Program FilesJavajdk1.8.0_05jrelibextlocaledata.jar
D:Program FilesJavajdk1.8.0_05jrelibextnashorn.jar
D:Program FilesJavajdk1.8.0_05jrelibextsunec.jar
D:Program FilesJavajdk1.8.0_05jrelibextsunjce_provider.jar
D:Program FilesJavajdk1.8.0_05jrelibextsunmscapi.jar
D:Program FilesJavajdk1.8.0_05jrelibextsunpkcs11.jar
D:Program FilesJavajdk1.8.0_05jrelibextzipfs.jar
D:testtargetclasses
D:testlibjersey-container-servlet.jar
D:testlibjersey-container-servlet-core.jar
D:testlibjersey-client.jar
D:testlibjavax.ws.rs-api-2.0.jar
D:testlibjersey-common.jar
D:testlibjersey-server.jar
C:UsersDouglas.m2repositorycomsunjerseyjersey-server1.18.1jersey-server-1.18.1.jar
C:UsersDouglas.m2repositorycomsunjerseyjersey-core1.18.1jersey-core-1.18.1.jar
D:Program FilesJetBrainsIntelliJ IDEA 13.1.3libidea_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
我在这个问题上找到的所有设备都是这个自我解决的帖子,这表明在某个地方有一个损坏的Java类会导致注释扫描失败,但我已经检查了我的平台设置/ SDK,没有看到任何不合适的地方,而且我正在全新安装。
任何想法如何解决这个问题,或为什么需要修复导入?
我在Java 8下运行的时候遇到了同样的问题。在允许服务器运行的意义上,回归到Java 7“固定”它。
升级泽西1.19应该做到这一点。
链接地址: http://www.djcxy.com/p/80133.html上一篇: Basic new RESTful project in IntelliJ fails to run, annotation scan failure?
下一篇: percent(interval=None) always returns 0 regardless of interval value PYTHON