Загрузка библиотек ShrinkWrap из POM для JavaArchive
Я работаю над мульти модульным проектом. И я пишу модульные тесты, используя Arquillian. До сих пор все хорошо, так как я добавляю зависимости в моем тестовом классе из моего модуля и другого зависимого модуля.
Пример:
.addPackages(true, "com.test.pk2")
.addPackages(true, "com.test.pk1")
вот так.
Чтобы упростить мои модульные тесты, я использую средство разрешения зависимостей Shrink Wrap Maven.
File[] crLibs = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeAndTestDependencies().asFile();
Но я столкнулся с некоторыми проблемами:
- Я не смог объединить архивы Java с моим окончательным архивом, и окончательный архив не может быть развернут.
- Я не нахожу особой поддержки для архивов Java.
- Если я пытаюсь добавить файлы JAR в окончательный архив, я сталкиваюсь с java.lang.IncompatibleClassChangeError.
Я что-то упускаю или что-то не так с этим. Может кто-нибудь помочь с этим?
Дополнительная информация о технологиях: ShrinkWrap 2.0.0 Glassfish 3.1.2.2 Maven2.2.1
1 ответ
JavaArchive[] dependencies = Maven.configureResolver().offline().loadPomFromFile(POM).importRuntimeDependencies()
.resolve().withTransitivity().as(JavaArchive.class);
Я решил таким образом. И это работает сейчас.