Jboss com.sun.jersey.spi.container.servlet.ServletContainer上的ClassNotFoundException

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>

我正在将项目从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>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的链接