gpt4 book ai didi

java - Arquillian 测试中的 Persistence.xml 被覆盖

转载 作者:行者123 更新时间:2023-12-02 04:35:14 24 4
gpt4 key购买 nike

Arquillian 示例主要展示如何构建 WarArchive、JavaArchive 等。我找不到任何好的示例如何覆盖已编译的 war 文件中存在的 jar 文件之一。

原因是其中一个 jar 包含 persistence.xml,我不想覆盖它来定义例如 hbm2ddl.auto 等。

正确的方法是什么?

最佳答案

问题可能是您使用ShrinkWrap.createFromZipFile。根据我使用 Arquillian 的经验,最好为每个测试创建一个自定义 WAR/JAR。创建部署的方法通常如下所示:

@Deployment
public static WebArchive createDeployment() {
//Load dependencies from POM
final PomEquippedResolveStage pom = Maven
.resolver()
.loadPomFromFile("pom.xml");
final PomEquippedResolveStage dependencies = pom
.importCompileAndRuntimeDependencies();
final File[] libs =
dependencies.resolve().withTransitivity().asFile();

return ShrinkWrap
.create(WebArchive.class,
"ExampleArchive.war")
.addPackage(org.example.Example.class.getPackage())
.addAsLibraries(files)
.addAsResource("test-persistence.xml",
"META-INF/persistence.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");

}

test-persistence.xml 进入您的测试资源目录。

关于java - Arquillian 测试中的 Persistence.xml 被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30909027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com