所以,我有一个在 main 中使用 persistence.xml 的项目, 它位于 src/main/resources/META-INF
现在我想使用内存数据库(H2)来编写自动化单元测试,所以我需要另一个 persistence.xml,我将它放在 src/test/resouce/META-INF 中
所以我的问题是如何克服第一个持久性,
我还使用 shrikwrap 解析器来解析 pom.xml 中的所有依赖项,因此它解决了所有问题,然后我将其添加到 shrikwrap 以返回 WebArchive,有什么办法,我尝试了很多方法,例如创建配置文件或 maven filetering,但无法与 Arquillian 一起使用,因为我解析了所有内容并添加到部署中。
您可以在下面找到我的 Arquillian 部署:
WebArchive[] file = Maven.resolver().loadPomFromFile("pom.xml")
.resolve("G:A:V").withTransitivity().as(WebArchive.class);
WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
.addAsResource("META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
war.addAsLibraries(file);
return war;
最佳答案
您是否尝试过在 addAsLibrary(file)
之后添加新资源?
WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
.addAsLibraries(file)
.addAsResource("META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
关于java - 在 arquillian 中设置数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588045/