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 파일 종속성 중 하나에 존재하지 않습니다.