簡體   English   中英

java.lang.IllegalArgumentException:嘗試構建Restful Web Service時出錯

[英]java.lang.IllegalArgumentException: Error when trying to build Restful Web Service

我正在嘗試通過遵循本教程來構建簡單的Rest Web服務

但是,當我在Eclipse上運行此項目時,出現錯誤:

   Mar 11, 2018 8:39:33 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [Distance] in web application [/Distance] threw load() exception
java.lang.IllegalArgumentException
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:424)
    at org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:170)
    at org.glassfish.jersey.server.ResourceConfig.scanClasses(ResourceConfig.java:892)
    at org.glassfish.jersey.server.ResourceConfig._getClasses(ResourceConfig.java:849)
    at org.glassfish.jersey.server.ResourceConfig.getClasses(ResourceConfig.java:755)
    at org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1181)
    at org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1154)
    at org.glassfish.jersey.server.ResourceConfig.createRuntimeConfig(ResourceConfig.java:1150)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:322)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:315)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1230)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1174)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5370)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5668)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.base/java.lang.Thread.run(Thread.java:844)

有人可以告訴我我錯了嗎? 先感謝您。 對不起,我的英語不好

將一些開放的依賴項更新到新版本后,我的Maven項目中出現了相同的錯誤。 就我而言,他們是

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>[1.3.2,)</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>[3.0.1,)</version>
</dependency>
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>[2.5.0,)</version>
</dependency>

分別下載了

mybatis-spring-2.0.0-SNAPSHOT.jar
mybatis-3.5.0-SNAPSHOT.jar
eclipselink-3.0.0-SNAPSHOT.jar

我在Maven資源庫(通常類似於{user-home}/.m2/repository /。m2 {user-home}/.m2/repository )中搜索了JAR的歷史記錄,發現所有JAR都是在收到此錯誤之日更新的。

我使用pom.xml “ closed”依賴項恢復了JAR的先前版本,即:

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>**2.5.0**</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>**1.3.2**</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>**3.4.6**</version>
</dependency>

然后更新依賴關系。 Maven下載

mybatis-spring-1.3.2.jar
mybatis-3.4.6.jar
eclipselink-2.5.0.jar

相反,一切正常。

甚至不知道您是否正在使用pom.xml(Maven項目),但是您當然正在運行Tomcat,因此請檢查您的內部是否存在一些不兼容或最近修改過的jar版本

{catalina.base}/lib

或者您的網絡應用

WEB-INF/lib

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM