我有一个带有一些模块(带有 jar 包)的 Maven 管理项目。每个模块都在其 META-INF 目录中包含其“persistence.xml”文件。
另一个模块负责将这些模块打包成一个war文件。但我还没有找到将这些“persistence.xml”文件“组合”成单个文件的方法。
是否可以?
我有一个带有一些模块(带有 jar 包)的 Maven 管理项目。每个模块都在其 META-INF 目录中包含其“persistence.xml”文件。
另一个模块负责将这些模块打包成一个war文件。但我还没有找到将这些“persistence.xml”文件“组合”成单个文件的方法。
是否可以?
如果您了解 XSLT,则可以编写一个转换来合并持久性文档。Maven 有一个用于运行 XSLT(和验证 XML)的插件 - xml-maven-plugin
但是你需要这样做吗?例如,阅读here和here表明persistence.xml 将从所有 jars 中获取,而不仅仅是 webapp 战争。因此,您应该能够将 persistence.xml 留在您的库 jar 中,并且 webapp 将使用该文件。
您好,为了让服务器搜索多个persistence.xml 文件并配置所有持久性单元,您必须将此persistence.xml 文件打包到EJB JAR 文件中。
艾门
另一个模块负责将这些模块打包成一个war文件。但是我找不到将这些“persistence.xml”“组合”到一个文件中的方法
你为什么要这样做?如果您有多个具有 . 的 JAR persistence.xml
,它们很可能定义了不同的持久性单元(持久性单元定义了与应用程序相关或分组的所有类的集合,并且必须在它们到单个数据库的映射中并置)。
为什么不EntityManagerFactory
为正确的持久性单元获取一个?