繁体   English   中英

NoClassDefFoundError:javax / validation / Validation甚至在POM中的validate-api 1.1.0.Final发生

[英]NoClassDefFoundError: javax/validation/Validation occurs even validation-api 1.1.0.Final in the POM

看起来很奇怪...我有异常跟踪:

org.apache.cxf.interceptor.Fault
        at org.mule.module.cxf.MuleInvoker.invoke(MuleInvoker.java:117)
        at org.mule.module.cxf.MuleJAXWSInvoker.invoke(MuleJAXWSInvoker.java:47)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
        at org.mule.module.cxf.CxfInboundMessageProcessor.sendToDestination(CxfInboundMessageProcessor.java:295)
        at org.mule.module.cxf.CxfInboundMessageProcessor.process(CxfInboundMessageProcessor.java:136)
        at org.mule.module.cxf.config.FlowConfiguringMessageProcessor.process(FlowConfiguringMessageProcessor.java:52)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
        at org.mule.processor.AsyncInterceptingMessageProcessor.process(AsyncInterceptingMessageProcessor.java:101)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:95)
        at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:70)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
        at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
        at org.mule.processor.AbstractFilteringMessageProcessor.process(AbstractFilteringMessageProcessor.java:44)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:106)
        at org.mule.construct.AbstractPipeline$1.process(AbstractPipeline.java:112)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor
        ....
        at org.mule.execution.FlowProcessingPhase$1.run(FlowProcessingPhase.java:63)
        at org.mule.work.WorkerContext.run(WorkerContext.java:311)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
        at com.comp.db.utils.HibernateUtil.<clinit>(HibernateUtil.java:51)
        at com.comp.db.DAO.ApplicationDAOImpl.getPcoApplicationIBStatus(ApplicationDAOImpl.java:62)
        at com.comp.serv.ServiceEndPoindImpl.getApplicationStatus(ServiceEndPoindImpl.java:641)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.mule.model.resolvers.AbstractEntryPointResolver.invokeMethod(AbstractEntryPointResolver.java:151)
        at org.mule.model.resolvers.MethodHeaderPropertyEntryPointResolver.invoke(MethodHeaderPropertyEntryPointResolver.java:112)
        at org.mule.model.resolvers.DefaultEntryPointResolverSet.invoke(DefaultEntryPointResolverSet.java:39)
        at org.mule.component.DefaultComponentLifecycleAdapter.invoke(DefaultComponentLifecycleAdapter.java:343)
        at org.mule.component.AbstractJavaComponent.invokeComponentInstance(AbstractJavaComponent.java:86)
        at org.mule.component.AbstractJavaComponent.doInvoke(AbstractJavaComponent.java:77)
        at org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:126)
        at org.mule.component.AbstractComponent.access$000(AbstractComponent.java:61)
        at org.mule.component.AbstractComponent$1$1.process(AbstractComponent.java:242)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
    ......

        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:61)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:47)
        ... 21 more
Caused by: org.hibernate.HibernateException: Unable to get the default Bean Validation factory
        at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:127)
        at org.hibernate.cfg.Configuration.applyBeanValidationConstraintsOnDDL(Configuration.java:1674)
        at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1624)
        at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1415)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
        at com.comp.db.utils.HibernateUtil.<clinit>(HibernateUtil.java:44)
        ... 110 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.java:118)
        ... 115 more
Caused by: java.lang.NoClassDefFoundError: javax/validation/Validation
        at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:342)
        at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:106)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

我阅读了https://stackoverflow.com/a/17142416/1293060 ,现在我的依赖树如下:

[INFO] +- org.json:json:jar:20151123:compile
[INFO] +- commons-io:commons-io:jar:2.4:compile
[INFO] +- fife:rsyntaxtextarea:jar:2.0.1:compile
[INFO] +- com.neovisionaries:nv-i18n:jar:1.9:compile
[INFO] +- commons-dbcp:commons-dbcp:jar:1.2.2:compile
[INFO] |  \- commons-pool:commons-pool:jar:1.3:compile
[INFO] +- com.microsoft.sqlserver:sqljdbc4:jar:4.0:compile
[INFO] +- com.oracle:ojdbc6:jar:11.2.0:compile
[INFO] +- org.fluttercode.datafactory:datafactory:jar:0.8:compile
[INFO] +- junit:junit:jar:4.12:compile
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] +- org.testng:testng:jar:6.9.10:compile
[INFO] |  +- com.beust:jcommander:jar:1.48:compile
[INFO] |  \- org.beanshell:bsh:jar:2.0b4:compile
[INFO] +- org.mule:mule-core:jar:3.5.0:compile
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO] |  +- com.github.stephenc.eaio-uuid:uuid:jar:3.4.0:compile
[INFO] |  |  \- com.github.stephenc.eaio-grabbag:grabbag:jar:1.8.1:compile
[INFO] |  +- commons-cli:commons-cli:jar:1.2:compile
[INFO] |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |  +- commons-lang:commons-lang:jar:2.4:compile
[INFO] |  +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] |  +- org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.1:compile
[INFO] |  +- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] |  +- org.slf4j:jcl-over-slf4j:jar:1.6.1:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.6.1:compile
[INFO] |  +- log4j:log4j:jar:1.2.16:compile
[INFO] |  +- asm:asm:jar:3.1:compile
[INFO] |  +- asm:asm-commons:jar:3.1:compile
[INFO] |  |  \- asm:asm-tree:jar:3.1:compile
[INFO] |  +- org.mule.mvel:mule-mvel2:jar:2.1.9-MULE-003:compile
[INFO] |  +- org.jgrapht:jgrapht-jdk1.5:jar:0.7.3:compile
[INFO] |  +- org.mule.common:mule-common:jar:3.5.0:compile
[INFO] |  |  +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
[INFO] |  |  +- javax.xml.stream:stax-api:jar:1.0-2:compile
[INFO] |  |  \- org.antlr:antlr-runtime:jar:3.5:compile
[INFO] |  |     \- org.antlr:stringtemplate:jar:3.2.1:compile
[INFO] |  \- com.google.guava:guava:jar:16.0.1:compile
[INFO] +- org.mule.modules:mule-module-spring-config:jar:3.5.0:compile
[INFO] |  +- org.mule.modules:mule-module-annotations:jar:3.5.0:compile
[INFO] |  |  \- cglib:cglib-nodep:jar:2.2:compile
[INFO] |  +- org.springframework:spring-context:jar:3.2.1.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-aop:jar:3.2.1.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-expression:jar:3.2.1.RELEASE:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  \- jaxen:jaxen:jar:1.1.1:compile
[INFO] +- org.mule.transports:mule-transport-http:jar:3.5.0:compile
[INFO] |  +- org.mule.transports:mule-transport-ssl:jar:3.5.0:compile
[INFO] |  +- commons-codec:commons-codec:jar:1.3:compile
[INFO] |  +- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] |  +- tomcat:tomcat-util:jar:5.5.23:compile
[INFO] |  |  \- tomcat:tomcat-apr:jar:5.5.23:compile
[INFO] |  +- org.samba.jcifs:jcifs:jar:1.3.3:compile
[INFO] |  \- joda-time:joda-time:jar:1.6:compile
[INFO] +- org.mule.modules:mule-module-client:jar:3.5.0:compile
[INFO] +- org.mule.modules:mule-module-cxf:jar:3.5.0:compile
[INFO] |  +- org.apache.cxf:cxf-rt-core:jar:2.5.9:compile
[INFO] |  |  +- org.apache.cxf:cxf-api:jar:2.5.9:compile
[INFO] |  |  |  +- org.apache.neethi:neethi:jar:3.0.2:compile
[INFO] |  |  |  \- wsdl4j:wsdl4j:jar:1.6.2:compile
[INFO] |  |  \- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.3:compile
[INFO] |  +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.5.9:compile
[INFO] |  |  \- org.apache.cxf:cxf-rt-bindings-soap:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.5.9:compile
[INFO] |  |  +- xml-resolver:xml-resolver:jar:1.2:compile
[INFO] |  |  \- org.apache.cxf:cxf-rt-bindings-xml:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-databinding-aegis:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.5.9:compile
[INFO] |  |  \- com.sun.xml.bind:jaxb-xjc:jar:2.1.13:compile
[INFO] |  +- org.apache.cxf:cxf-rt-databinding-jibx:jar:2.5.9:compile
[INFO] |  |  +- org.apache.cxf:cxf-tools-common:jar:2.5.9:compile
[INFO] |  |  +- org.jibx:jibx-run:jar:1.2.4.5:compile
[INFO] |  |  |  \- xpp3:xpp3:jar:1.1.3.4.O:compile
[INFO] |  |  \- org.jibx:jibx-schema:jar:1.2.4.5:compile
[INFO] |  |     \- org.jibx:jibx-extras:jar:1.2.4.5:compile
[INFO] |  |        \- org.jdom:jdom:jar:1.1.3:compile
[INFO] |  +- org.apache.cxf:cxf-rt-transports-local:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-ws-security:jar:2.5.9:compile
[INFO] |  |  +- org.apache.cxf:cxf-common-utilities:jar:2.5.9:compile
[INFO] |  |  \- org.apache.ws.security:wss4j:jar:1.6.9:compile
[INFO] |  |     +- org.apache.santuario:xmlsec:jar:1.5.3:compile
[INFO] |  |     \- org.opensaml:opensaml:jar:2.5.1-1:compile
[INFO] |  |        \- org.opensaml:openws:jar:1.4.2-1:compile
[INFO] |  |           \- org.opensaml:xmltooling:jar:1.3.2-1:compile
[INFO] |  +- org.apache.cxf:cxf-rt-ws-rm:jar:2.5.9:compile
[INFO] |  |  \- org.apache.cxf:cxf-rt-management:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-ws-addr:jar:2.5.9:compile
[INFO] |  +- org.apache.cxf:cxf-rt-transports-http:jar:2.5.9:compile
[INFO] |  |  +- org.apache.cxf:cxf-rt-transports-common:jar:2.5.9:compile
[INFO] |  |  \- org.springframework:spring-web:jar:3.0.6.RELEASE:compile
[INFO] |  |     \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.apache.cxf:cxf-wstx-msv-validation:jar:2.5.9:compile
[INFO] |  |  \- net.java.dev.msv:msv-core:jar:2011.1:compile
[INFO] |  |     +- com.sun.msv.datatype.xsd:xsdlib:jar:2010.1:compile
[INFO] |  |     +- isorelax:isorelax:jar:20030108:compile
[INFO] |  |     \- relaxngDatatype:relaxngDatatype:jar:20020414:compile
[INFO] |  +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.3:compile
[INFO] |  |  \- javax.xml.soap:saaj-api:jar:1.3:compile
[INFO] |  +- org.mule.modules:mule-module-spring-security:jar:3.5.0:compile
[INFO] |  |  +- org.mule.modules:mule-module-spring-extras:jar:3.5.0:compile
[INFO] |  |  |  +- org.springframework:spring-jdbc:jar:3.2.1.RELEASE:compile
[INFO] |  |  |  +- org.springframework:spring-jms:jar:3.2.1.RELEASE:compile
[INFO] |  |  |  +- org.mule.modules:mule-module-builders:jar:3.5.0:compile
[INFO] |  |  |  +- org.springframework:spring-context-support:jar:3.2.1.RELEASE:compile
[INFO] |  |  |  \- org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.1:compile
[INFO] |  |  +- org.springframework.security:spring-security-core:jar:3.1.0.RELEASE:compile
[INFO] |  |  |  \- org.springframework.security:spring-security-crypto:jar:3.1.0.RELEASE:compile
[INFO] |  |  +- org.springframework.security:spring-security-config:jar:3.1.0.RELEASE:compile
[INFO] |  |  +- org.springframework.security:spring-security-web:jar:3.1.0.RELEASE:compile
[INFO] |  |  |  \- org.springframework:spring-tx:jar:3.0.6.RELEASE:compile
[INFO] |  |  +- org.springframework.security:spring-security-ldap:jar:3.1.0.RELEASE:compile
[INFO] |  |  |  \- org.springframework.ldap:spring-ldap-core:jar:1.3.1.RELEASE:compile
[INFO] |  |  +- org.apache.geronimo.specs:geronimo-servlet_3.0_spec:jar:1.0:compile
[INFO] |  |  \- org.aspectj:aspectjrt:jar:1.6.11:compile
[INFO] |  +- org.mule.transports:mule-transport-tcp:jar:3.5.0:compile
[INFO] |  +- net.sourceforge.saxon:saxon:jar:9.1.0.8:compile
[INFO] |  +- org.apache.geronimo.specs:geronimo-annotation_1.1_spec:jar:1.0.1:compile
[INFO] |  +- org.springframework:spring-beans:jar:3.2.1.RELEASE:compile
[INFO] |  +- org.springframework:spring-core:jar:3.2.1.RELEASE:compile
[INFO] |  +- javax.mail:mail:jar:1.4.3:compile
[INFO] |  +- javax.xml.ws:jaxws-api:jar:2.2.1:compile
[INFO] |  |  \- javax.jws:jsr181-api:jar:1.0-MR1:compile
[INFO] |  \- org.apache.ant:ant:jar:1.7.0:runtime
[INFO] |     \- org.apache.ant:ant-launcher:jar:1.7.0:runtime
[INFO] +- org.mule.modules:mule-module-management:jar:3.5.0:compile
[INFO] |  +- mx4j:mx4j-jmx:jar:2.1.1:compile
[INFO] |  +- mx4j:mx4j-impl:jar:2.1.1:compile
[INFO] |  +- mx4j:mx4j-tools:jar:2.1.1:compile
[INFO] |  +- mx4j:mx4j-remote:jar:2.1.1:compile
[INFO] |  +- com.yourkit:yjp-controller-api-redist:jar:9.0.8:compile
[INFO] |  \- tanukisoft:wrapper:jar:3.2.3:compile
[INFO] +- org.mule.modules:mule-module-xml:jar:3.5.0:compile
[INFO] |  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[INFO] |  +- commons-jxpath:commons-jxpath:jar:1.3:compile
[INFO] |  +- com.thoughtworks.xstream:xstream:jar:1.4.2:compile
[INFO] |  |  \- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] |  +- xpp3:xpp3_min:jar:1.1.3.4.O:compile
[INFO] |  +- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.4:compile
[INFO] |  |  \- org.codehaus.woodstox:stax2-api:jar:3.1.1:compile
[INFO] |  +- net.java.dev.stax-utils:stax-utils:jar:20080702:compile
[INFO] |  +- net.sourceforge.saxon:saxon:jar:dom:9.1.0.8:compile
[INFO] |  +- net.sourceforge.saxon:saxon:jar:xqj:9.1.0.8:compile
[INFO] |  +- javax.xml.bind:jaxb-api:jar:2.1:compile
[INFO] |  \- com.sun.xml.bind:jaxb-impl:jar:2.1.5:compile
[INFO] +- org.mule.modules:mule-interceptor-module:jar:3.5-M2:test
[INFO] |  \- org.mockito:mockito-all:jar:1.8.2:test
[INFO] +- org.hibernate:hibernate-core:jar:5.0.7.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  +- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] |  \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] \- javax.validation:validation-api:jar:1.1.0.Final:compile

但是部署后,我仍然收到java.lang.NoClassDefFoundError: javax/validation/Validation错误(请参阅根本原因的stacktrace)。 您能帮助避免这种例外吗? 谢谢。

更新现在我的pom具有依赖项:

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.0.7.Final</version>
        </dependency>


        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.3.Final</version>
        </dependency>

<!--

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
        </dependency>
-->

和依赖关系树:

 \- org.hibernate:hibernate-validator:jar:5.2.3.Final:compile
[INFO]    +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO]    \- com.fasterxml:classmate:jar:1.1.0:compile

并且例外是相同的:

Caused by: java.lang.ClassNotFoundException: javax.validation.Validation
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)

我会很高兴有任何想法和帮助。

更新

还尝试将hibernate.validator.apply_to_ddl=false添加到app.properties中,并将<scope>test</scope><artifactId>validation-api</artifactId> 无济于事。

UPDATE还尝试从已部署应用程序的文件夹中删除validation-api-1.1.0.Final.jar

更新

 <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>5.2.3.Final</version>
      <exclusions>
          <exclusion>
              <groupId>javax.validation</groupId>
              <artifactId>validation-api</artifactId>
          </exclusion>
      </exclusions>
  </dependency>

也无济于事。 =(

更新资料

这种情况也不起作用:

  <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.3.Final</version>

            <exclusions>
                <exclusion>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>

UPDATE也不起作用:

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.0.7.Final</version>
        </dependency>


       <!-- <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.2.3.Final</version>

            <exclusions>
                <exclusion>
                    <groupId>javax.validation</groupId>
                    <artifactId>validation-api</artifactId>
                </exclusion>
            </exclusions>

        </dependency>-->


       <!-- <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
            <scope>test</scope>
        </dependency>
-->

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>

仍然需要帮助。

在Mule 3.4库中可能有问题吗?

并添加这个罐子:

  hibernate-validator-5.x.x 

并删除javax.validation:validation-api:jar:1.1.0.Finalvalidation-api:jar:1.1.0.Final因为与hibernate-validator不兼容。

检查目标文件夹或服务器上的部署位置,以确保jar可用。

旧帖子,但以为我要进行更新:我尝试了不同版本的hibernate-validator工件,但仍然有相同的错误。 因此,我将validation-api-xxx.jar复制到“父”类加载器位置之一;

  • 在Mule Studio中,我将其放在plugins / org.mule.tooling.server.3.4.0_3.4.0.201310241917 \\ mule \\ user下
  • 在服务器上,我在$ MULE_HOME / lib / apps // mule下

这样可以解决问题。 但是我还没有弄清楚为什么仅在POM中包含hibernate-validator无效。

哦,我忘了提一下,请确保将休眠验证器伪像保留在您的POM中。

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.1.0.Final</version>
    </dependency>

确保您使用的validate-api版本与hibernate-validator所需的版本匹配。 您可以在依赖项列表中查找

我们使用m子3.4社区版。 这对我们有效:

去掉

   <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.0.0.GA</version>
    </dependency>`

从您的pom.xml。

确保在m子的用户库目录中添加validation-api-1.0.0.GA.jar 如果您使用的是Mule Studio ,则应位于plugins \\ org.mule.tooling.server.3.4.0_3.4.0.201310241917 \\ mule \\ user中 如果使用m子服务器 ,则应将文件放在file子/ lib /用户中

我们至少有一台服务器,其中将验证jar放在用户目录中会导致类加载问题,但是幸运的是,我们确实不需要hibernate的jpa验证 因此我们完全禁用验证。 然后, validation.jar将被类加载器完全忽略-它不会在乎是否存在。 这是我们实现该目标的方法:

 <bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="packagesToScan" value="my.pkg.to.scan" />
  <property name="jpaVendorAdapter">
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
  </property>
  <property name="jpaProperties">
     <props>
        <!-- <prop key="hibernate.hbm2ddl.auto">create-drop</prop> -->
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
        <prop key="hibernate.show_sql">false</prop>
        <!--  set the JPA provider validation-mode to NONE -->
        <prop key="javax.persistence.validation.mode">none</prop>
     </props>
  </property>

此处的关键行是<prop key="javax.persistence.validation.mode">none</prop>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM