Ich habe eine Naht 2.2.2 Anwendung, die ich auf jboss eap 6 (AS7) migrieren. Da die Tests in dem alten jboss-eingebetteten Container waren, habe ich begonnen, arquillian zu verwenden, aber ich konnte nicht feststellen, dass hot ein Bereitstellungspaket erstellt.Arquillian + Shrinkwrap + Naht: wie zu erstellen Bereitstellungspaket
Dies ist einer meiner Versuche:
@Deployment
@OverProtocol("Servlet 3.0")
public static Archive<?> createDeployment() throws IOException {
// Build the ear with Maven by hand before run the test!
final EnterpriseArchive ear = ShrinkWrap.createFromZipFile(
EnterpriseArchive.class, new File("../Sin-ear/target/Sin.ear"));
final JavaArchive testjar = ShrinkWrap.createFromZipFile(
JavaArchive.class, new File("./target/test.jar"));
//final JavaArchive testjar = ShrinkWrap.create(JavaArchive.class, "test.jar") //other attempt
// .addPackages(true, "com.miles.knowledge.test");
ear.addAsModule(testjar);
return ear;
}
Und es schlägt fehl, wenn ich die Testklasse als JUnit-Test laufen (ich kann ohne Fehler der Anwendung Einsatz sehen):
java.lang.ClassNotFoundException: com.miles.knowledge.test.GreeterTest from [Module "deployment.Sin.ear.Sin.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
...
Es scheint, dass ich die Testklasse in ein Kriegspaket verpacken muss, aber ich bin irgendwie verloren, ich brauche etwas Hilfe.
Das ist es! Danke, Mann! Ich brauchte einige Zeit, um zu erkennen, wie man die richtige CacheManager-Konfiguration lädt, aber der Tipp war richtig. –