지난 2 주 동안 아파치 아이비와 의존 관계를 관리하는 데 어려움을 겪고 있지만 모든 사람들이 웹에서 사용하는 명백한 사용법 (한 번 maven/gradle/apache-ivy가 DM에 사용됨) 나를 피했습니다. 누군가 제발 도와 줄 수 있고 내가 뭘 잘못하고 있는지 보지? 나는 정말로 감사 할 것이다.apache-ivy를 사용하여 3.0.5에서 3.0.5로 마이그레이션 : java.lang.IncompatibleClassChangeError :
나는 최신 봄에 기존의 봄/JPA-최대 절전 모드 응용 프로그램을 마이그레이션 사용 및 배포에 최대 절전 모드로 전환하려고 해요 :
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
이 유용 할 수 있습니다 : http://stackoverflow.com/questions/ 1980452/what-causes-java-lang-incompatibleclasschangeerror – ilango
대신 Spring 3.1.1 jar를 사용해보십시오. – ilango
3.1.1로 시도했습니다. 같은 오류. – kmansoor