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.

Другие вопросы по тегам