如何在运行测试用例时从src / main / resources中排除persistence.xml? [Maven:多模块]

时间:2013-10-09 17:43:41

标签: unit-testing maven maven-3

我有一个基于Maven的多模块项目。该项目是一个EAR文件,其中包含子部署,包括first-ejb.jarfirst-web.warfirst-ejb.jar包含两个persistence.xmlsrc/main/resources/META-INF/persistence.xml,第二个在src/test/resources/META-INF/persistence.xmlfirst-ejb.jar的测试用例成功执行,从测试目录中选择persistence.xml(我从persistence.xml手动排除main)。但是,当我为first-web.war运行测试用例时,它包含来自persistence.xml主目录的first-ejb.jar,这导致我的测试用例失败。

所以,我的问题是,在为persistence.xml模块运行测试用例时,如何在Maven的多模块项目中说明first-ejb.jar中的first-web.war包含first-web.war

编辑:

因此,我浏览了运行first-ejb.jar测试时使用的类路径。我看到它包含first-web.war作为其依赖(对于生成构建是正确的)。实际上,这会阻止persistence.xml模块的测试,因为它最终使用来自src\main\resources first-ejb.jar模块的first-ejb.jar的{​​{1}}。

所以,我相信我需要做的是声明另一个工件,其中包含persistence.xml包含但src\main\resources目录中不同first-ejb-test.jar的所有内容。我可以命名为first-web.war。然后,我可以使此工件成为maven项目的依赖项,以便通过{{1}}配置文件运行测试。

0 个答案:

没有答案