2013-07-23 19 views
6

Ich versuche, einen bestehenden Krieg von einem anderen Maven-Projekt in Arquillian zu implementieren. Ich habe den Krieg aufgelöst und ihn in das Zielverzeichnis meines Arquillian-Projekts kopiert.Arquillian: Erstellen Sie ein WebArchiv aus einem bestehenden Krieg mit ShrinkWrap

I versuchen, es unten zu erstellen:

@Deployment 
public static WebArchive createDeployment() { 

    return (WebArchive) ShrinkWrap.create(ZipImporter.class, "MyWarToTest.war").importFrom(
      new File("target/MyWarToTest.war")); 

} 

Allerdings bin ich eine Klasse Guss Ausnahme bekommen.

Verursacht durch: java.lang.ClassCastException: org.jboss.shrinkwrap.impl.base.importer.zip.ZipImporterImpl nicht cast org.jboss.shrinkwrap.api.Archive

sein

Ich vermute, dass ich versuchen sollte, den Krieg anders zu gestalten?

Antwort

13

Hinzufügen von 2 Cent:

@Deployment 
public static WebArchive createDeployment() { 

    return ShrinkWrap.create(ZipImporter.class, "payloadPlan.war").importFrom(new File("target/payloadPlan.war")) 
      .as(WebArchive.class); 

} 

ich die Antwort hier. Noch schneller (und mit demselben Ergebnis) ist die folgende Methode:

@Deployment 
public static WebArchive createDeployment() { 
    return ShrinkWrap.createFromZipFile(WebArchive.class, new File("target/payloadPlan.war")); 
}