2012-09-11 2 views
2

Envers를 사용하는 동안 종속성 문제가 발생했습니다.Maven 최대 절전 모드 및 Envers - 종속성

엔버의 세계 어딘가에는 클래스에 대한 의존성이 있습니다. org.hibernate.integrator.spi.Integrator. 내가 hibernate-core.4.1.7.Final 다음 내가 hibernate-core.3.6.10.Final에서 찾을 수 있습니다 org.hibernate.event.PreCollectionUpdateEventListener에 대한 종속성 문제 (NoClassDefFoundError)를 얻을 사용하는 경우는, 그러나

hibernate-core.4.1.7.Final에서 찾을 수 있습니다.

Maven이 클래스 패스에 두 버전을 넣지 않기 때문에 나는 꽤 채워졌습니다.

해결책/아이디어/수정 사항이있는 현명한 사람들.

감사 아담

UPDATE : 응답 @adamw에 대한 감사합니다,하지만이 작동하지 않습니다. 제가 한 일에 조금 더 깊게 보자

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

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-envers</artifactId> 
    <version>4.1.7.Final</version> 
</dependency> 

build.xml: 그런 다음 내 개체 코드에 내가 넣어 :

@Audited 
@Entity 
public class Company 
... 

를 지금은 내 통합이 _AUD 테이블 테스트를 실행할 때 생성되지 않습니다.

<properties> 
    <property name="hibernate.ejb.event.post-insert" value="org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener" /> 
    <property name="hibernate.ejb.event.post-update" value="org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.Audit.EventListener" /> 
    <property name="hibernate.ejb.event.post-delete" value="org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener" /> 
    <property name="hibernate.ejb.event.pre-collection-update" value="org.hibernate.envers.event.AuditEventListener" /> 
    <property name="hibernate.ejb.event.pre-collection-remove" value="org.hibernate.envers.event.AuditEventListener" /> 
    <property name="hibernate.ejb.event.post-collection-recreate" value="org.hibernate.envers.event.AuditEventListener" /> 
</properties> 

를 그리고 난의 결과 봄 오류 얻을 :

그래서 (here 지시대로) persistance.xml 파일이 추가 내가이 문제를 해결하려면 어떻게 그래서

javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory 

를? Spring, Envers 및 Maven을 사용할 때 다른 누구도이 문제가 있습니까?

아, 그런데. properties.xml 스 니펫에 지정된 리스너가 jar 파일 종속성 중 하나에 존재하지 않습니다.

답변

2

글쎄, 당신도 사용이 Envers와 Envers 4.1.7, 또는 Hibernat 3.6.10과 4.1.7를 최대 절전 모드로 필요 3.6.10 :

업데이트 : 이제

사용중인 잘못된 문서 :). 4.x 이후에는 리스너가 필요하지 않습니다. 여기를 참조하십시오 : http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html/ch05.html http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html/ch15.html