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

Exclude persistence.xml file from transitive Maven dependency

我有一个 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 中。我该怎么做?

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

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

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

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

如果你想确保从特定的依赖项中获得 persistence.xml 文件,这意味着 persistence.xml 文件应该位于你需要它的项目中,而不是在依赖项目中。 (位置 src/main/resources)。