2

我有一个带有一些模块(带有 jar 包)的 Maven 管理项目。每个模块都在其 META-INF 目录中包含其“persistence.xml”文件。

另一个模块负责将这些模块打包成一个war文件。但我还没有找到将这些“persistence.xml”文件“组合”成单个文件的方法。

是否可以?

4

3 回答 3

5

如果您了解 XSLT,则可以编写一个转换来合并持久性文档。Maven 有一个用于运行 XSLT(和验证 XML)的插件 - xml-maven-plugin

但是你需要这样做吗?例如,阅读herehere表明persistence.xml 将从所有 jars 中获取,而不仅仅是 webapp 战争。因此,您应该能够将 persistence.xml 留在您的库 jar 中,并且 webapp 将使用该文件。

于 2010-06-04T03:34:06.847 回答
1

您好,为了让服务器搜索多个persistence.xml 文件并配置所有持久性单元,您必须将此persistence.xml 文件打包到EJB JAR 文件中。

艾门

于 2010-12-24T16:59:45.947 回答
0

另一个模块负责将这些模块打包成一个war文件。但是我找不到将这些“persistence.xml”“组合”到一个文件中的方法

你为什么要这样做?如果您有多个具有 . 的 JAR persistence.xml,它们很可能定义了不同的持久性单元(持久性单元定义了与应用程序相关或分组的所有类的集合,并且必须在它们到单个数据库的映射中并置)。

为什么不EntityManagerFactory为正确的持久性单元获取一个?

于 2010-06-04T13:59:25.943 回答