2012-03-22 3 views
0

나는 이미 문제가 무엇인지 알고 있다고 생각한다. 이 오류가 계속 발생합니다.최대 절전 모드 ASM 스프링 java.lang.NoSuchMethodError sessionFactory

org.springframework.beans.factory.BeanCreationException: 
Could not autowire method: public void proTurism.DAO.AbstractDAO.setSession(org.hibernate.SessionFactory); nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: 
Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V 

문제는 2 개의 호환되지 않는 ASM 버전 중 스프링과 하나의 최대 절전 모드를 사용하는 것이 좋습니다. 나는 최대 절전 모드 ASM (netbeans 7.1에서 포장 된 알려지지 않은 버전)과 봄 ASM (3.0.6)을 가지고있다. 하지만 난 하나의 ASP 또는 netbeans와 함께 glassfish에서 일하는 것을 얻는 방법에 대한 해결책을 찾지 못했습니다.

힘든 의존성 문제입니다 내 applicationcontext.xml

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="proTurism"/> 
    <property name="configurationClass"> 
     <value>org.hibernate.cfg.AnnotationConfiguration</value> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
</bean> 

답변

3

. 두 라이브러리 (최대 절전 모드와 스프링 모드)가 동일한 버전의 ASM이나 사용되지 않는 ASM 버전에 의존하는 경우에만이를 해결할 수 있습니다. 그렇지 않은 경우 작동 할 때까지 봄/겨울잠을 업그레이드/다운 그레이드하십시오.

Maven을 사용하는 경우, 어떤 아티팩트가 어떤 버전의 종속성이 필요하며 추적 및 재생하기가 더 쉽다는 것을 자동으로 표시합니다. 비록 Maven을 사용하지 않더라도, 당신은 여전히 ​​그들이 작동하는 asm의 버전을보기 위해 최대 절전 모드와 봄 모드의 pom 정의를 검사 할 수있다.

관련 문제