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 является фрагментом, а не комплектом?

Хотя я получаю сообщение об ошибке, все пакеты активны, соответственно, фрагмент разрешен. Любые идеи?


person hueck    schedule 16.10.2012    source источник


Ответы (1)


Единственный известный мне способ — использовать явный элемент <provision> с суффиксом @nostart. Эти аргументы дословно передаются в Pax Runner.

person Harald Wellmann    schedule 17.10.2012