2012-03-18 61 views
0

我有一個使用Apache Camel(2.10-SNAPSHOT)和Spring(3.0.7.RELEASE)和Tomcat(7.0.26)的項目。我想使用drools-camel組件。所以添加了以下在我pom.xml強制mvn到drools-camel的最新發布版本

<dependency> 
     <groupId>org.drools</groupId> 
     <artifactId>drools-camel</artifactId> 
     <version>5.3.0.Final</version> 
</dependency> 

我可以建立我的項目,但我得到一個運行時異常。

[   http-bio-8080-exec-7] ContextLoader     ERROR Context initialization failed 
306 org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]; nested exception is java.lang.NoSuchMethodError:  org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues; 
307   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)[spring-2.5.6.jar:2.5.6] 
308   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)[spring-2.5.6.jar:2.5.6] 
309   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)[spring-2.5.6.jar:2.5.6] 
310   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)[spring-2.5.6.jar:2.5.6] 
311   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)[spring-2.5.6.jar:2.5.6] 
312   at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)[spring-2.5.6.jar:2.5.6] 
313   at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)[spring-2.5.6.jar:2.5.6] 
314   at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)[spring-2.5.6.jar:2.5.6] 
315   at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)[spring-2.5.6.jar:2.5.6] 
316   at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)[spring-2.5.6.jar:2.5.6] 
317   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)[spring-2.5.6.jar:2.5.6] 
318   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)[spring-2.5.6.jar:2.5.6] 
319   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)[spring-2.5.6.jar:2.5.6] 
320   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)[spring-2.5.6.jar:2.5.6] 
321   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)[catalina.jar:7.0.26] 
322   at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)[catalina.jar:7.0.26] 
323   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[catalina.jar:7.0.26] 
324   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)[catalina.jar:7.0.26] 
325   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)[catalina.jar:7.0.26] 
326   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)[catalina.jar:7.0.26] 
327   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)[catalina.jar:7.0.26] 
328   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:536)[catalina.jar:7.0.26] 
329   at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1467)[catalina.jar:7.0.26] 
330   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_29] 
331   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_29] 
332   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_29] 
333   at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_29] 
334   at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)[tomcat-coyote.jar:7.0.26] 
335   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)[:1.6.0_29] 
336   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)[:1.6.0_29] 
337   at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1436)[catalina.jar:7.0.26] 
338   at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:673)[catalina.jar:7.0.26] 
339   at org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:431)[catalina.jar:7.0.26] 
340   at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)[servlet-api.jar:] 
341   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)[servlet-api.jar:] 
342   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)[catalina.jar:7.0.26] 
343   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)[catalina.jar:7.0.26] 
344   at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)[catalina.jar:7.0.26] 
345   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)[catalina.jar:7.0.26] 
346   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)[catalina.jar:7.0.26] 
347   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)[catalina.jar:7.0.26] 
348   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)[catalina.jar:7.0.26] 
349   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)[catalina.jar:7.0.26] 
350   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)[catalina.jar:7.0.26] 
351   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)[catalina.jar:7.0.26] 
352   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)[catalina.jar:7.0.26] 
353   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)[catalina.jar:7.0.26] 
354   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)[catalina.jar:7.0.26] 
355   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)[tomcat-coyote.jar:7.0.26] 
356   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)[tomcat-coyote.jar:7.0.26] 
357   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)[tomcat-coyote.jar:7.0.26] 
358   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_29] 
359   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_29] 
360   at java.lang.Thread.run(Thread.java:680)[:1.6.0_29] 

我認爲錯誤是關係到使用Spring罐子的錯誤的版本(彈簧2.5.6)(見[INFO] +- org.springframework:spring:jar:2.5.6:compile 在MVN依賴性低於輸出。。 的maven的依賴性輸出顯示使成滴料。是否有辦法迫使滴料,駱駝組件使用在pom.xml中定義的春天的版本?

我使用maven(MVN - 版本的Apache Maven的3.0.3( r1075438; 2011-02-28 12:31:09-0500))

[INFO] +- org.apache.camel:camel-core:jar:2.10-SNAPSHOT:compile 
[INFO] +- org.apache.camel:camel-spring:jar:2.10-SNAPSHOT:compile 
[INFO] | +- org.springframework:spring-context:jar:3.0.7.RELEASE:compile 
[INFO] | +- org.springframework:spring-aop:jar:3.0.7.RELEASE:compile 
[INFO] | \- org.springframework:spring-tx:jar:3.0.7.RELEASE:compile 
[INFO] +- org.apache.camel:camel-stream:jar:2.10-SNAPSHOT:compile 
[INFO] +- org.apache.camel:camel-cxf:jar:2.10-SNAPSHOT:compile 
[INFO] | +- org.apache.camel:camel-cxf-transport:jar:2.10-SNAPSHOT:compile 
[INFO] | | \- org.apache.cxf:cxf-rt-core:jar:2.5.2:compile 
[INFO] | +- org.apache.cxf:cxf-rt-frontend-jaxrs:jar:2.5.2:compile 
[INFO] | | +- org.apache.cxf:cxf-common-utilities:jar:2.5.2:compile 
[INFO] | | +- org.apache.cxf:cxf-api:jar:2.5.2:compile 
[INFO] | | +- javax.ws.rs:jsr311-api:jar:1.1.1:compile 
[INFO] | | +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.5.2:compile 
[INFO] | | \- org.apache.cxf:cxf-rt-transports-http:jar:2.5.2:compile 
[INFO] | |  \- org.apache.cxf:cxf-rt-transports-common:jar:2.5.2:compile 
[INFO] | +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.5.2:compile 
[INFO] | | +- xml-resolver:xml-resolver:jar:1.2:compile 
[INFO] | | +- asm:asm:jar:3.3:compile 
[INFO] | | +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.5.2:compile 
[INFO] | | \- org.apache.cxf:cxf-rt-ws-addr:jar:2.5.2:compile 
[INFO] | +- org.springframework:spring-beans:jar:3.0.7.RELEASE:compile 
[INFO] | +- org.apache.camel:camel-blueprint:jar:2.10-SNAPSHOT:compile 
[INFO] | | +- org.apache.camel:camel-core-xml:jar:2.10-SNAPSHOT:compile 
[INFO] | | +- org.apache.camel:camel-core-osgi:jar:2.10-SNAPSHOT:compile 
[INFO] | | \- javax.xml.bind:jaxb-api:jar:2.1:compile 
[INFO] | |  \- javax.activation:activation:jar:1.1:compile 
[INFO] | +- org.apache.aries.blueprint:org.apache.aries.blueprint:jar:0.3:compile 
[INFO] | | +- org.apache.aries:org.apache.aries.util:jar:0.3:compile 
[INFO] | | +- org.apache.aries.testsupport:org.apache.aries.testsupport.unit:jar:0.3:compile 
[INFO] | | \- org.apache.aries.proxy:org.apache.aries.proxy.api:jar:0.3:compile 
[INFO] | \- org.apache.cxf:cxf-rt-bindings-soap:jar:2.5.2:compile 
[INFO] |  +- org.apache.cxf:cxf-tools-common:jar:2.5.2:compile 
[INFO] |  \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.5.2:compile 
[INFO] +- org.apache.camel:camel-http:jar:2.10-SNAPSHOT:compile 
[INFO] | +- org.apache.geronimo.specs:geronimo-servlet_2.5_spec:jar:1.1.2:compile 
[INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:compile 
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile 
[INFO] +- org.apache.camel:camel-twitter:jar:2.10-SNAPSHOT:compile 
[INFO] | +- org.twitter4j:twitter4j-core:jar:2.2.5:compile 
[INFO] | \- org.twitter4j:twitter4j-stream:jar:2.2.5:compile 
[INFO] +- org.apache.camel:camel-xstream:jar:2.10-SNAPSHOT: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.4c:compile 
[INFO] | +- stax:stax-api:jar:1.0.1:compile 
[INFO] | +- org.codehaus.jettison:jettison:jar:1.3.1:compile 
[INFO] | \- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.2:compile 
[INFO] |  +- javax.xml.stream:stax-api:jar:1.0-2:compile 
[INFO] |  \- org.codehaus.woodstox:stax2-api:jar:3.1.1:compile 
[INFO] +- org.apache.camel:camel-csv:jar:2.10-SNAPSHOT:compile 
[INFO] | \- org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-csv:jar:1.0-r706899_3:compile 
[INFO] +- org.apache.camel:camel-jackson:jar:2.10-SNAPSHOT:compile 
[INFO] +- org.springframework:spring-core:jar:3.0.7.RELEASE:compile 
[INFO] | +- org.springframework:spring-asm:jar:3.0.7.RELEASE:compile 
[INFO] | \- commons-logging:commons-logging:jar:1.1.1:compile 
[INFO] +- org.springframework:spring-web:jar:3.0.7.RELEASE:compile 
[INFO] | \- aopalliance:aopalliance:jar:1.0:compile 
[INFO] +- org.springframework:spring-webmvc:jar:3.0.7.RELEASE:compile 
[INFO] | +- org.springframework:spring-context-support:jar:3.0.7.RELEASE:compile 
[INFO] | \- org.springframework:spring-expression:jar:3.0.7.RELEASE:compile 
[INFO] +- org.apache.camel:camel-test:jar:2.10-SNAPSHOT:test (scope not updated to compile) 
[INFO] | \- junit:junit:jar:4.10:test 
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.1:test 
[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] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.7.1:compile 
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.7.1:compile 
[INFO] \- org.drools:drools-camel:jar:5.3.0.Final:compile 
[INFO] +- org.drools:knowledge-api:jar:5.3.0.Final:compile 
[INFO] +- org.drools:drools-core:jar:5.3.0.Final:compile 
[INFO] | \- org.mvel:mvel2:jar:2.1.0.drools4:compile 
[INFO] +- org.drools:drools-compiler:jar:5.3.0.Final:compile 
[INFO] | +- org.antlr:antlr-runtime:jar:3.3:compile 
[INFO] | +- org.antlr:antlr:jar:3.3:compile 
[INFO] | +- org.antlr:stringtemplate:jar:3.2.1:compile 
[INFO] | +- antlr:antlr:jar:2.7.7:compile 
[INFO] | \- org.eclipse.jdt.core.compiler:ecj:jar:3.5.1:compile 
[INFO] +- org.jbpm:jbpm-flow-builder:jar:5.1.2.Final:compile 
[INFO] | \- org.jbpm:jbpm-flow:jar:5.1.2.Final:compile 
[INFO] +- org.drools:drools-spring:jar:5.3.0.Final:compile 
[INFO] | \- org.drools:drools-decisiontables:jar:5.3.0.Final:compile 
[INFO] |  +- org.drools:drools-templates:jar:5.3.0.Final:compile 
[INFO] |  \- net.sourceforge.jexcelapi:jxl:jar:2.6.10:compile 
[INFO] +- org.drools:drools-grid-impl:jar:5.3.0.Final:compile 
[INFO] | +- org.apache.mina:mina-core:jar:2.0.1:compile 
[INFO] | +- commons-collections:commons-collections:jar:3.1:compile 
[INFO] | +- com.hazelcast:hazelcast:jar:1.8.5:compile 
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:3.4.0.GA:compile 
[INFO] | | \- org.hibernate:ejb3-persistence:jar:1.0.2.GA:compile 
[INFO] | +- org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile 
[INFO] | +- org.hibernate:hibernate-commons-annotations:jar:3.1.0.GA:compile 
[INFO] | +- org.hibernate:hibernate-core:jar:3.3.2.GA:compile 
[INFO] | +- javax.persistence:persistence-api:jar:1.0:compile 
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile 
[INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile 
[INFO] | +- javassist:javassist:jar:3.12.0.GA:compile 
[INFO] | \- javax.transaction:jta:jar:1.1:compile 
[INFO] +- org.apache.camel:camel-jaxb:jar:2.4.0:compile 
[INFO] | +- commons-logging:commons-logging-api:jar:1.1:compile 
[INFO] | \- com.sun.xml.bind:jaxb-impl:jar:2.1.12:compile 
**[INFO] +- org.springframework:spring:jar:2.5.6:compile** 
[INFO] \- org.apache.cxf:cxf-bundle-jaxrs:jar:2.4.1:compile 
[INFO]  +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0:compile 
[INFO]  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile 
[INFO]  +- org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:compile 
[INFO]  +- org.apache.neethi:neethi:jar:3.0.0:compile 
[INFO]  +- wsdl4j:wsdl4j:jar:1.6.2:compile 
[INFO]  +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile 
[INFO]  +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile 
[INFO]  +- org.eclipse.jetty:jetty-server:jar:7.4.2.v20110526:compile 
[INFO]  +- org.eclipse.jetty:jetty-continuation:jar:7.4.2.v20110526:compile 
[INFO]  +- org.eclipse.jetty:jetty-http:jar:7.4.2.v20110526:compile 
[INFO]  +- org.eclipse.jetty:jetty-io:jar:7.4.2.v20110526:compile 
[INFO]  +- org.eclipse.jetty:jetty-util:jar:7.4.2.v20110526:compile 
[INFO]  +- org.eclipse.jetty:jetty-security:jar:7.4.2.v20110526:compile 
[INFO]  \- org.apache.geronimo.specs:geronimo-servlet_3.0_spec:jar:1.0:compile 

回答

3

添加所希望的春天版本作爲單獨的依賴,並排除一個,隨滴料:

<dependency> 
    <groupId>org.drools</groupId> 
    <artifactId>drools-camel</artifactId> 
    <version>5.3.0.Final</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

mvn dependency:tree輸出不顯示彈簧2.5.6依賴關係了。但是,我仍然得到相同的運行時異常。有任何想法嗎 ? – 2012-03-18 22:04:44

+0

您可以在WAR中查看已解析的庫,確保不再有彈簧庫的重複,而不是查找JAR,導致此錯誤,請在manifest或pom文件中查看它的版本,而不是查看此版本lib的源以確保它定義了適當的方法。 – alexkasko 2012-03-18 22:16:54

+0

此錯誤已修復,但我收到了另一個可能相關或可能不相關的錯誤。再次感謝 ! – 2012-03-18 22:20:12