我想使用对我的项目中的一些表进行审计,但是我得到了一些错误。我有两个春季启动项目,索赔和InsureConnect。InsureConnect是索赔中的依赖项。
索赔具有Spring数据提交器依赖关系
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-envers</artifactId>
<version>2.6.4</version>
</dependency>项目索赔中的JPA配置如下所示。我在索赔项目中有JPA存储库
@Configuration
@EnableJpaRepositories(entityManagerFactoryRef = "claimsTransEntityManagerFactory",
transactionManagerRef = "claimsTransTransactionManager", basePackages={"com.metamorphosys.claims.jpa.transaction"})
public class ClaimsTransactionConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(ClaimsTransactionConfig.class);
@Bean
PlatformTransactionManager claimsTransTransactionManager() {
return new JpaTransactionManager(claimsTransEntityManagerFactory().getObject());
}
@Bean
LocalContainerEntityManagerFactoryBean claimsTransEntityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
//code...
}ClaimsApplication.java
@SpringBootApplication(scanBasePackages ={"com.metamorphosys"})
@EnableJpaRepositories(repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean.class)
public class ClaimsApplication{
//code
}对于InsureConnect项目,下面是transactionConfig.java。
@Configuration
public class TransactionConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(TransactionConfig.class);
@Bean
@Primary
PlatformTransactionManager transTransactionManager() {
return new JpaTransactionManager(transEntityManagerFactory().getObject());
}
@Bean
@Primary
LocalContainerEntityManagerFactoryBean transEntityManagerFactory() {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
// code
}InsureConnectApplication.java
@SpringBootApplication
@EnableAsync
@ImportResource({ "classpath*:config/*.xml" })
@EnableJpaRepositories(entityManagerFactoryRef = "transEntityManagerFactory",
transactionManagerRef = "transTransactionManager", basePackages={"com.metamorphosys.insureconnect.jpa.transaction"}
,repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class)
public class InsureConnectApplication implements ApplicationContextAware {
private static final Logger log = LoggerFactory.getLogger(InsureConnectApplication.class);
}Insureconnect不具有Spring依赖关系
现在,当我运行Claims时,TransactionConfig在insureConnect项目中的错误如下。
Cannot create inner bean '(inner bean)#64ba4522' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#64ba4522': Cannot resolve reference to bean 'transEntityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transEntityManagerFactory' defined in class path resource [com/metamorphosys/insureconnect/dataobjects/transaction/TransactionConfig.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javassist/bytecode/ClassFile如果我移除Spring Envers依赖项,则该项目运行良好。
有人能帮我理解为什么在使用Envers时会出现错误吗?提前谢谢。
注-我使用的是2.6.4v的Spring-数据-envers。
发布于 2022-05-19 08:01:34
我的申请也有类似的问题。最后,我将jpa初学者添加到我的pom中,然后我的应用程序开始工作:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>我认为这个启动程序加载了一些额外的内容,即没有/或加载。
https://stackoverflow.com/questions/72089601
复制相似问题