如何从 Maven 解析器中排除 persistence.xml

How to exclude persistence.xml from maven resolver

我正在使用 arquillian 进行测试,并且我有很多模块。其中一个用于实体,另一个用于服务层。所以我已经测试了我所有的模型模块,现在尝试使用模拟存储库测试服务层。但是我正在添加我的模型依赖性,就像使用 Maven 解析器一样:

File[] hrModel =
            Maven.resolver().loadPomFromFile("pom.xml")
.resolve("com.mycompany:hr-model:0.1").withTransitivity()
                 .asFile();

在我的模型模块 persistence.xml 上,配置为在生成模式时执行删除和创建(JPA 2.1 属性),所以当我 运行 我的测试使用解析的依赖项时(上面),我看到实际上模式生成过程又重新开始了,所以我的问题是:有人可以提供一种方法来不将 persistence.xml 包含在已解决的依赖项中,或者只包含其中的 class 文件或者是还有其他解决方案吗?

您可以在 src/test/resources/META-INF 路径中创建第二个 persistence.xml,在 运行 测试时将加载该路径而不是主路径。您可以使用不同的设置而不是删除创建架构。