Ограничения от фрагмента конфликтуют с хостом

Я пытаюсь расширить импорт пакета A из пакета B с помощью Fragment-Host. В пучке B у меня есть эта строка: Fragment-Host: и в пакете B Import-Package я добавил импорт, требуемый пакетом A

Когда я пытаюсь обновить пакет B с манифестом и запустить его, я получаю сообщение об ошибке: "Ограничения от конфликта фрагментов с хостом" со списком всех импортов существуют в пакете B, однако при рассмотрении манифеста пакета A я не вижу, почему эти импортные конфликты должны быть конфликтованы, если они там не существуют.

Также стоит упомянуть, что я запускаю только одну версию обоих пакетов в контейнере OSGi и что я уже попробовал перезагрузить контейнер после обновления.

Пакет манифеста:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: hudson
Build-Jdk: 1.6.0_20
Export-Package: <list of packages>
Tool: Bnd-0.0.311
Bundle-Name: Logging infrastructure
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Version: 0.7.0
Bundle-ManifestVersion: 2
Bundle-Activator: <activator class>
Bundle-SymbolicName: com.mycomp.bundlea
Import-Package: com.sap.tc.logging,org.apache.commons.logging,org.apac
 he.log4j,org.apache.log4j.helpers,org.apache.log4j.spi,org.apache.log
 4j.xml,org.eclipse.osgi.framework.console;version="1.0",org.osgi.fram
 ework;version="1.5",org.osgi.service.cm;version="1.2",org.osgi.servic
 e.log;version="1.3",org.osgi.util.tracker;version="1.4"
Eclipse-RegisterBuddy: com.sap.org.apache.log4j

Манифест Bundle B:

    Manifest-Version: 1.0
Export-Package: org.perf4j;uses:="org.perf4j.chart,org.perf4j.helpers"
 ,org.perf4j.aop;uses:="javax.interceptor,org.apache.commons.jexl,org.
 aspectj.lang,org.aspectj.lang.annotation,org.perf4j",org.perf4j.chart
 ;uses:="org.perf4j,org.perf4j.helpers",org.perf4j.commonslog;uses:="o
 rg.apache.commons.logging,org.perf4j",org.perf4j.commonslog.aop;uses:
 ="org.aspectj.lang.annotation,org.perf4j,org.perf4j.aop,org.perf4j.co
 mmonslog",org.perf4j.helpers;uses:="javax.management,org.perf4j",org.
 perf4j.javalog;uses:="org.perf4j",org.perf4j.javalog.aop;uses:="org.a
 spectj.lang.annotation,org.perf4j,org.perf4j.aop,org.perf4j.javalog",
 org.perf4j.log4j;uses:="javax.management,org.apache.log4j,org.apache.
 log4j.helpers,org.apache.log4j.spi,org.perf4j,org.perf4j.chart,org.pe
 rf4j.helpers",org.perf4j.log4j.aop;uses:="org.aspectj.lang.annotation
 ,org.perf4j,org.perf4j.aop,org.perf4j.log4j",org.perf4j.log4j.servlet
 ;uses:="org.perf4j.chart,org.perf4j.servlet",org.perf4j.servlet;uses:
 ="javax.servlet,javax.servlet.http,org.perf4j.chart",org.perf4j.slf4j
 ;uses:="org.perf4j,org.slf4j",org.perf4j.slf4j.aop;uses:="org.aspectj
 .lang.annotation,org.perf4j,org.perf4j.aop,org.perf4j.slf4j"
Implementation-Title: Perf4J
Implementation-Version: 0.9.13
Built-By: devinea
Specification-Vendor: perf4j.org
Tool: Bundlor 1.0.0.RELEASE
Created-By: Apache Maven
Implementation-Vendor: perf4j.org
Implementation-Vendor-Id: org.perf4j
Build-Jdk: 1.5.0_22
Specification-Title: Perf4J
Import-Package: javax.interceptor,javax.management,javax.servlet,javax
 .servlet.http,org.apache.commons.jexl,org.apache.commons.jexl.context
 ,org.apache.commons.logging,org.apache.log4j,org.apache.log4j.helpers
 ,org.apache.log4j.spi,org.aspectj.lang,org.aspectj.lang.annotation,or
 g.slf4j,org.perf4j.log4j
Specification-Version: 0.9.13
Main-Class: org.perf4j.LogParser
Archiver-Version: Plexus Archiver
Bundle-SymbolicName: org.codehaus.perf4j
Bundle-Version: 0.9.13
Fragment-Host: com.mycomp.bundlea

Любые идеи...?

Ответ 1

Конфликты конфликтов трудно диагностировать удаленно, тем более что Equinox дает очень мало информации в сообщениях об ошибках... Felix лучше в этом, но похоже, что вы привязаны к Equinox с некоторыми заголовками расширений Eclipse.

Для некоторых общих указателей и объяснения проблемы см. следующие два сообщения в блоге, которые я написал некоторое время назад:

http://njbartlett.name/2011/09/02/uses-constraints.html

http://njbartlett.name/2011/03/31/uses-constraints-in-felix.html