首页 > 解决方案 > 将外部 Jar 中的 orm xml 加载到 Spring Boot 中

问题描述

我有一个名为 core-project jar 的 maven spring 项目,它具有 orm 和持久性 xml 文件以及在 Annotation 和 xml 中定义的实体。现在我有另一个 spring boot 项目,它利用这个核心项目来初始化持久性。在 SpringBoot Main 类中定义 @EntityScan(packages) 时,我能够@Entity扫描带注释的实体(即 with ),但没有扫描在 orm xml (即<entity>)中定义的实体。

得到错误为 Unable to locate persister for entity

但是当我运行与 mvn spring-boot:run 相同的项目时,一切都像魅力一样运行。当我做一个 java -jar 时,我最终遇到了上述问题。

我尝试设置 LocalContainerEntityManagerFactoryBean 并设置要扫描的包,但没有运气。

让我知道 Spring Boot 从外部 jar 加载基于 orm xml 的实体需要做什么。

注意:orm 和持久化 xmls 是 core-project 的一部分,我们不希望它在 spring boot 项目中。

标签: javaspringspring-bootjpaspring-data-jpa

解决方案


您可以尝试persistence.xml在 Spring Boot 项目中创建一个来引用 jar 文件:

<jar-file>core.jar</jar-file> 

我从来没有用 spring boot 做到这一点,但也许这与“普通”Java EE 应用程序一样有效。


推荐阅读