mvn pax:provision (org.osgi.framework.BundleException: Фрагменты пакетов не могут быть запущены.)
Вот некоторые части моего родительского pom.xml:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.6.1</version>
<scope>runtime</scope>
</dependency>
.
.
.
<plugin>
<groupId>org.ops4j</groupId>
<artifactId>maven-pax-plugin</artifactId>
<version>1.5</version>
</plugin>
Если я бегу mvn pax:provision
все работает отлично, кроме одной вещи. Я получил:
Auto-properties start: file:bundles/slf4j.jdk14_1.6.1.jar (org.osgi.framework.BundleException: Fragment bundles can not be started.)
Сообщение ясно, но как я могу сказать плагину pax, что slf4j.jdk - это фрагмент, а не пакет?
Хотя я получаю сообщение об ошибке, все комплекты являются активными, соответственно фрагмент разрешен. Есть идеи?
1 ответ
Единственный способ, которым я знаю, это использование явного <provision>
элемент с @nostart
суффикс. Эти аргументы передаются дословно Pax Runner.