从可传递的 Maven 依赖项中排除 persistence.xml 文件

时间:2021-03-04 07:23:08

标签: maven maven-assembly-plugin

我有一个 Maven 项目,它从可传递的 Maven 依赖项中随机提取一个 persistence.xml 文件。如何配置依赖项以排除其 persistence.xml 文件?

为了清楚起见,我将进一步阐述这个问题:

我有一个 Maven 项目 A。A 的 pom 文件有一个依赖项 B,后者又具有依赖项 C 和 D(A、B、C 和 D 是相关项目)以及其他依赖项。项目 C 和 D 各有不同的 persistence.xml 文件。因此,当我在构建项目 B、C 和 D 之后构建项目 A 时,会从 C 或 D 中随机选取一个 persistence.xml 文件,并与项目 A 打包在一起。我想确保只有项目 C 中的 persistence.xml 文件被打包到项目 A 中。我该怎么做?

如果需要,我可以添加更多信息。

1 个答案:

答案 0 :(得分:2)

如果依赖项包含 persistence.xml,这通常是个坏主意,您不能在依赖项级别排除该文件。

问题是:为什么 persistence.xml 文件在其他项目中?

此外,听起来这些项目是高度耦合的。对我来说,这听起来像是多模块构建的候选者(可能是不同的事情)。

如果您想确保拥有来自特定依赖项的 persistence.xml 文件,这意味着 persistence.xml 文件应位于您需要它的项目中,而不是位于相关项目中。 (位于src/main/resources)。