Jboss com.sun.jersey.spi.container.servlet.ServletContainer上的ClassNotFoundException
我正在将项目从jBoss-eap-5.1迁移到jBoss-eap-6.0。我在jboss的modules目录中定义了jersey JAR,如下所示:Jboss com.sun.jersey.spi.container.servlet.ServletContainer上的ClassNotFoundException,jboss,jboss7.x,jboss-eap-6,Jboss,Jboss7.x,Jboss Eap 6,我正在将项目从jBoss-eap-5.1迁移到jBoss-eap-6.0。我在jboss的modules目录中定义了jersey JAR,如下所示: com |_jersey |_jersey-core |_jersey-client |_jersey-server |_jersey-servlet <dependency> <groupId>com.sun.jersey</groupId> <artifactId>
com
|_jersey
|_jersey-core
|_jersey-client
|_jersey-server
|_jersey-servlet
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${jersey-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey-version}</version>
<scope>test</scope>
</dependency>
在我的project.pom文件中,我将JAR定义如下:
com
|_jersey
|_jersey-core
|_jersey-client
|_jersey-server
|_jersey-servlet
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${jersey-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey-version}</version>
<scope>test</scope>
</dependency>
最初,当我没有定义jersey servlet时,我遇到了这个错误,但我进行了一些搜索,推测jersey-servlet.jar就是包含该类的那个。但是,这确实解决了错误。我通过将此依赖项添加到manifest.mf文件中解决了问题。在我的.pom文件中,我添加了构建插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Dependencies>com.jersey.jersey-server,com.jersey.jersey-client,com.jersey.jersey-json</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
org.apache.maven.plugins
maven耳朵插件
jersey.jersey服务器,com.jersey.jersey客户端,com.jersey.jersey-json
这在我的清单文件中添加了对所需.jar文件的引用,这不是答案,但我相信这是在版本10的jersey中实现的。这时库发生了大的变化AS7/JEE6应该已经具备了JAX-RS所需的一切,除非您使用一些特定于jersey的API。我会首先尝试摆脱jersey并迁移到JEE6/JAX-RS。@tair感谢您的建议,但这不是一个选项。事实上,有数百个服务正在使用jersey运行,现在无法迁移……是的,这就是我发现的。下面是关于1.10中Servlet的链接