2013-07-23 7 views
6

Я пытаюсь развернуть существующую войну с другого проекта maven в Аркиллиан. Я разрешил войну и скопировал ее в целевой каталог моего проекта Arquillian.Arquillian: Создайте WebArchive из существующей войны, используя ShrinkWrap

Я попробовать создать его ниже:

@Deployment 
public static WebArchive createDeployment() { 

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

} 

Однако я получаю исключение в класс произнесения.

Вызванные: java.lang.ClassCastException: org.jboss.shrinkwrap.impl.base.importer.zip.ZipImporterImpl не может быть приведения к org.jboss.shrinkwrap.api.Archive

Я предполагаю, что я должен попытаться создать войну по-другому?

ответ

11

Я нашел ответ. Мне нужно было добавить .as (WebArchive.class) до конца вызова.
Он должен выглядеть следующим образом:

@Deployment 
public static WebArchive createDeployment() { 

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

} 

Я нашел ответ здесь: http://zezutom.blogspot.com/2012/08/going-mobile-with-arquillian.html

13

Добавление мои 2 цента. Еще более быстрым (и с тем же результатом) является следующий метод:

 Смежные вопросы

  • Нет связанных вопросов^_^