jboss as 7 + Jersey之ClassNotFound com.sun.jersey.server.impl.container.servlet.Include

jillzhang 阅读:81 2025-04-02 23:11:03 评论:0

我将 jboss 上的项目从 jersey 版本 1.9 迁移到 1.17,但出现以下异常:

12:05:48,573 WARN  [org.jboss.as.ee] (MSC service thread 1-10) JBAS011006: Not installing optional component com.sun.jersey.server.impl.container.servlet.Include due to except 
ion: java.lang.ClassNotFoundException: com.sun.jersey.server.impl.container.servlet.Include from [Module "deployment.ApiEar-2.0.0-SNAPSHOT.ear.ApiService-2.0.0-SNAPSHOT.war:ma 
in" from Service Module Loader] 
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) 
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) 
        at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_32-ea] 
        at java.lang.Class.forName(Class.java:247) [rt.jar:1.6.0_32-ea] 
        at org.jboss.as.server.deployment.reflect.DeploymentClassIndex.classIndex(DeploymentClassIndex.java:54) 
        at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81) [jboss-as-ee-7.1.2.Final-redhat-1.jar:7.1.2.Final- 
redhat-1] 
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) 
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) 
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_32-ea] 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_32-ea] 
        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_32-ea] 

代码在 1.9 下运行良好。这是我的依赖项:

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-core</artifactId> 
    <version>1.9.1</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-client</artifactId> 
    <version>1.9.1</version> 
</dependency> 

什么会导致这样的异常?

请您参考如下方法:

我认为您的问题与 Jersey 从 1.9 版到 1.10 版发生了很大变化有关;即 Servlet 功能发生了很大变化。您可以在此处阅读更多信息:Jersey 1.10 released 就您的问题而言,我认为您只是缺少一些依赖项。我知道我必须将以下内容添加到我的 .pom 文件中:

        <!-- Jersey 1.17 dependencies --> 
        <dependency> 
            <groupId>com.sun.jersey</groupId> 
            <artifactId>jersey-servlet</artifactId> 
            <version>${jersey-version}</version> 
            <scope>compile</scope> 
        </dependency> 
        <dependency> 
            <groupId>javax.persistence</groupId> 
            <artifactId>persistence-api</artifactId> 
            <version>1.0.2</version> 
            <scope>compile</scope> 
        </dependency> 
        <!-- end Jersey 1.17 dependencies --> 


标签:Servlet
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号