0

我在過去的兩週中一直在努力應對Apache Ivy來管理依賴關係,但每個人都在網上談論的表面易用性(一旦maven/gradle/apache-ivy用於DM)已經避開了我。有人可以請幫助,看看我做錯了什麼?我會很感激。從3.0.5遷移到Spring 3.1使用apache-ivy:java.lang.IncompatibleClassChangeError:

我試圖使用遷移現有春/ JPA-Hibernate應用程序到最新的Spring和Hibernate分佈:

Spring 3.1.2 
Spring Security 3.1.1 
Hibernate 4.1 

我的環境:

Eclipse Helios 
Tomcat 7.23 

的ivy.xml:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"> <info 
    organisation="" 
    module="FocusIvy" 
    status="integration"> 
</info> 
<dependencies> 
    <dependency org="org.hibernate" name="com.springsource.org.hibernate.ejb" rev="4.1.0.Final" /> 
    <dependency org="org.hibernate" name="com.springsource.org.hibernate.annotations" rev="3.4.0.GA-A" /> 
    <dependency org="org.hibernate.common" name="com.springsource.org.hibernate.annotations.common" rev="4.1.0.Final" /> 
    <dependency org="org.hibernate" name="com.springsource.org.hibernate" rev="4.1.0.Final" /> 
    <dependency org="org.hibernate" name="com.springsource.org.hibernate.core" rev="4.1.0.Final" /> 
    <dependency org="org.hibernate" name="com.springsource.org.hibernate.validator" rev="4.2.0.Final" /> 

    <dependency org="org.springframework" name="org.springframework.core" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.beans" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.context" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.context.support" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.transaction" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.jdbc" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.expression" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.aop" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.web" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.web.servlet" rev="3.1.2.RELEASE" /> 
    <dependency org="org.springframework" name="org.springframework.orm" rev="3.1.2.RELEASE" /> 

    <dependency org="org.springframework.security" name="org.springframework.security.core" rev="3.1.1.RELEASE" />  
    <dependency org="org.springframework.security" name="org.springframework.security.aspects" rev="3.1.1.RELEASE" /> 
    <dependency org="org.springframework.security" name="org.springframework.security.taglibs" rev="3.1.1.RELEASE" /> 
    <dependency org="org.springframework.security" name="org.springframework.security.web" rev="3.1.1.RELEASE" /> 
    <dependency org="org.springframework.security" name="org.springframework.security.annotation" rev="2.0.6.RELEASE" /> 

    <dependency org="javax.activation" name="com.springsource.javax.activation" 
      rev="1.1.1" /> 
    <dependency org="net.sourceforge.cglib" name="com.springsource.net.sf.cglib" rev="2.2.0" />    
</dependencies> 
</ivy-module> 

ivysettings.xml:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ivysettings> 
<settings defaultResolver="defaultChain" 
    defaultConflictManager="all" /> 

<resolvers> 
    <url name="com.springsource.repository.bundles.release"> 
     <ivy 
      pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
     <artifact 
      pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
    </url> 

    <url name="com.springsource.repository.bundles.external"> 
     <ivy 
      pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
     <artifact 
      pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
    </url> 
    <chain name="defaultChain" returnFirst="true"> 
     <resolver ref="com.springsource.repository.bundles.release" /> 
     <resolver ref="com.springsource.repository.bundles.external" /> 
    </chain> 
</resolvers> 
</ivysettings> 

Tomcat服務器啓動(和應用部署)導致的得分錯誤:

WARNING: Unable to load class  [org.springframework.instrument.classloading.jboss.JBossMCAdapter] to check against the  @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.IncompatibleClassChangeError: Implementing class 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533) 
at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1988) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1951) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1840) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1808) 
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1794) 
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1214) 
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:828) 
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302) 
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5148) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Oct 16, 2012 2:31:42 PM org.apache.catalina.startup.ContextConfig checkHandlesTypes 
WARNING: Unable to load class  [org.springframework.instrument.classloading.jboss.JBossModulesAdapter] to check against the @HandlesTypes annotation of one or more ServletContentInitializers. 
java.lang.IncompatibleClassChangeError: Implementing class 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533) 
at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1988) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1951) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1840) 
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1808) 
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1794) 
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1214) 
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:828) 
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302) 
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5148) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
    Oct 16, 2012 2:31:44 PM org.apache.catalina.startup.ContextConfig checkHandlesTypes 
+0

這可能是有用的:http://stackoverflow.com/questions/ 1980452/what-c​​auses-java-lang-incompatibleclasschangeerror – ilango

+0

嘗試使用Spring 3.1.1 jar代替。 – ilango

+0

試過3.1.1。同樣的錯誤。 – kmansoor

回答

0

警告:無法加載類[org.springframework.instrument.classloading.jboss.JBossMCAdapter]對證一個或多個ServletContentInitializers的@HandlesTypes註釋。 java.lang.IncompatibleClassChangeError:實現類

總結起來Apache Tomcat服務器不是JBoss服務器

其次,它似乎是合理的彈簧骨架內部的問題,所以一次看到所需的彈簧,其設置在Tomcat中加載不JBoss的

相關問題