0
POM:REST應用程式澤西2 ClassNotFoundException的:com.sun.jersey.spi.container.servlet.ServletContainer
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>${jersey.version}</version>
</dependency>
其中jersey.version = 2.5。
我使用嵌入式碼頭(maven-jetty-plugin)來啓動REST應用程序。當執行mvn jetty:run時,會發生以下異常。
2015-10-21 00:21:32.883:INFO::jetty-6.1.26
2015-10-21 00:21:33.478:WARN::Failed startup of context [email protected]{/promat,C:\wses\promat\src\main\webapp}
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
...
...
只要我使用1.8依賴關係的澤西島 - 沒有問題。 這是沒有問題的依賴項。
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.8</version>
</dependency>
缺失的神器是什麼?擁有1.8版本的Jersey服務器擁有ServletContainer類。
你不需要任何其他的依賴。儘管@MatthewMadson的回答是正確的。我想它可能不會完全解決問題。我的猜測是你在你的web.xml中使用了所有的Jersey 1.x配置。 –
爲了幫助遷移,我建議你發佈你的web.xml。 –