マルチモジュールプロジェクト。
私の ejb モジュールには、強調表示されたファイルがあります。Web モジュールで arquillian テストを実行するのと同じファイルを使用したいと思います。
Web モジュールの pom.xml ファイルでは、ejb モジュールに依存していますが、ejb モジュールから「実際の」persistence.xml を取得したくないため、スコープが提供されています。
<dependency>
<groupId>com.comp</groupId>
<artifactId>g4tc-ejb</artifactId>
<type>ejb</type>
<!-- Use scope provided as we are creating an ear file, and we do not want the packaged jar file in test, as we want the test-persistence.xml -->
<scope>provided</scope>
</dependency>
したがって、RestTest クラスには、ejb モジュールのファイルを含めたいと考えています。
@Deployment
public static WebArchive getDeployment() {
File[] files = Maven.resolver().loadPomFromFile("pom.xml")
.importRuntimeAndTestDependencies().resolve().withTransitivity().asFile();
WebArchive war = ShrinkWrap.create(WebArchive.class, "g4tcRestWebservice.war")
.addAsLibraries(files)
.addPackages(true, "com.comp.g4tc.web")
.addPackages(true, "com.comp.g4tc.ejb") /* Load the classes from the ejb module instead of through dependency to avoid getting
the g4tc-ejb/src/java/resources/META-INF/persistence.xml, we want the one from the test package */
.addAsResource( "HERE AT THE test-persistence.xml FROM THE EJB MODULE", "META-INF/persistence.xml");
System.out.println(war.toString(true));
return war;
}
それを行うための最良のアプローチは何ですか。?? ありがとう