簡體   English   中英

引起:java.lang.NoClassDefFoundError:org / apache / cxf / ws / policy / builder / jaxb / JaxbAssertionBuilder

[英]Caused by: java.lang.NoClassDefFoundError: org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertionBuilder

I am migrating my application from jboss-eap-5.1 to jboss-eap-6.4.0. My application is using spring 3.1.1 related jar and apache-cxf-2.7.7 jars. 

Ear file structure is as below 
EAR/lib - contains all the jar which is common for wars.
app1.war/lib - contains jars required for it
app2.war/lib - contains jars required for it


I have also excluded modules for webservice, org.jboss.as.jaxrs & ejb3 from  standalong.xml config file.  


Spring jars :
spring-orm-3.1.1.RELEASE.jar
spring-aop-3.1.1.RELEASE.jar                spring-oxm-3.2.4.RELEASE.jar
spring-asm-3.1.1.RELEASE.jar                spring-test-3.2.4.RELEASE.jar
spring-beans-3.1.1.RELEASE.jar              spring-tx-3.1.1.RELEASE.jar
spring-context-3.1.1.RELEASE.jar            spring-web-3.2.4.RELEASE.jar
spring-core-3.1.1.RELEASE.jar               spring-webmvc-3.2.4.RELEASE.jar
spring-data-commons-core-1.1.0.RELEASE.jar  spring-ws-core-2.1.4.RELEASE.jar
spring-data-jpa-1.0.3.RELEASE.jar           spring-ws-test-2.1.4.RELEASE.jar
spring-expression-3.1.1.RELEASE.jar         spring-xml-2.1.4.RELEASE.jar

javaw.ws.rs jar containes below jar
javax.ws.rs-api-2.0-m10.jar

apache-cfx-jars packaged in ear/lib are 
cxf-api-2.7.7.jar                     cxf-rt-frontend-jaxrs-2.7.7.jar
cxf-rt-bindings-soap-2.7.7.jar        cxf-rt-frontend-jaxws-2.7.7.jar
cxf-rt-bindings-xml-2.7.7.jar         cxf-rt-frontend-simple-2.7.7.jar
cxf-rt-core-2.7.7.jar                 cxf-rt-transports-http-2.7.7.jar
cxf-rt-databinding-jaxb-2.7.7.jar     cxf-rt-transports-local-2.7.7.jar
cxf-rt-features-clustering-2.7.7.jar


now when i deploy , i am getting below error. I am not sure how to resolve this error as  below
7:33:07,784 INFO  [org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor] (pool-6-thread-2) JSR-330 'javax.inject.Inject' annotation found and supported for autowiring

07:33:07,785 INFO [org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor](pool-5-thread-1)JSR-330'javax.inject.Inject'注釋找到並支持自動裝配07:33:07,790 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory](pool-6-thread-2)在org.springframework.beans.factory.support.DefaultListableBeanFactory@75b6f75e中預先實例化單例:定義bean [cxf,org.apache。 cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,servletContextReaderComponent,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context。 annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationPr ocessor,signatureAlgorithm,serviceAuthManager,authServiceProvider,soaErrorBundle,soaErrorMapper,soaExceptionHandler,soaClientPolicyEvaluator,com.walmart.platform.soa.client.listener.SOAClientLifeCycleListener#0,clientHeaderOutInterceptor,clientLoggingOutInterceptor,clientHeaderInInterceptor,clientLoggingInInterceptor,serviceAuthOutInterceptor,clientPolicyOutInterceptor,clientPolicyInInterceptor,cxf.config2, org.springframework.context.annotation.ConfigurationClassPostProcessor $ ImportAwareBeanPostProcessor#0]; 工廠層級的根@

07:33:08,015 ERROR [stderr](Thread-147)2016-06-20 07:33:08.014 WARN net.spy.memcached.auth.AuthThread:身份驗證失敗/172.16.113.154:11210,狀態:{OperationStatus成功= false:無效參數} 07:33:08,026 WARN [org.jboss.modules](pool-6-thread-2)無法在模塊“部署中定義類org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder。 smcfs.ear:main“來自Service Module Loader:java.lang.LinkageError:無法鏈接org / apache / cxf / transport / http / policy / HTTPServerAssertionBuilder(模塊”deployment.smcfs.ear:main“來自Service Module Loader)at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:487)[jboss-modules.jar:1.3.6.Final-redhat-1] org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:277) [jboss-modules.jar:1.3.6.Final-redhat-1]在org.jboss.modules.ModuleClassLoader $ 1.loadClassLocal(ModuleClassLoader.java:92)[jboss-modules.jar:1.3.6.Final-redhat- 1]在org.jboss.modules.Module.loadModuleClass(M odule.java:568)[jboss-modules.jar:1.3.6.Final-redhat-1

When i check errors closely it is failing due to below class not found exception .

]
    at com.walmartlabs.services.util.base.LabsCallable.call(LabsCallable.java:31) [labs-ims-1.0.jar:]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_51]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_51]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]

引起:java.lang.NoClassDefFoundError:org / apache / cxf / ws / policy / builder / jaxb / JaxbAssertionBuilder,java.lang中的java.lang.ClassLoader.defineClass1(本地方法)[rt.jar:1.8.0_51]。 org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)中的ClassLoader.defineClass(ClassLoader.java:760) [rt.jar:1.8.0_51] [jboss-modules.jar:1.3.6.Final-redhat -1] at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)[jboss-modules.jar:1.3.6.Final-redhat-1] ... 148更多引起:java.lang.ClassNotFoundException :來自服務模塊加載器的[Module“deployment.smcfs.ear:main”的org.apache.cxf.ws.policy.builder.jaxb.JaxbAssertionBuilder,位於org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [JBoss的-modules.jar:1.3.6。

    *********************************************8

      at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_51]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_51]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]

引起:java.lang.ClassLoader.defineClass的java.lang.NoClassDefFoundError:org / apache / cxf / ws / policy / AbstractPolicyInterceptorProvider java.lang.ClassLoader.defineClass1(Native Method)[rt.jar:1.8.0_51] ClassLoader.java:760)[rt.jar:1.8.0_51]在org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361)[jboss-modules.jar:1.3.6.Final-redhat-1] at at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482)[jboss-modules.jar:1.3.6.Final-redhat-1] ... 148更多引起:java.lang.ClassNotFoundException:org.apache來自org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)的[Module“deployment.smcfs.ear:main”中的.cxf.ws.policy.AbstractPolicyInterceptorProvider來自[jboss-modules.jar:1.3] .6.Final-redhat-1] a

    ************************************

任何建議如何克服這個問題

Thanks

我不得不將以下依賴項添加到我的pom中以避免該錯誤:

 <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>3.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-ws-policy</artifactId>
        <version>3.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-wsdl</artifactId>
        <version>3.2.0</version>
    </dependency>


    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>3.2.0</version>
    </dependency>

暫無
暫無

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

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