来自片段的约束与主机冲突 [英] Constraints from the fragment conflict with the host
问题描述
我正在尝试使用Fragment-Host扩展从捆绑软件B引入捆绑软件A的过程. 在捆绑包B中,我有这条线:Fragment-Host: 在捆绑软件B的Import-Package中,我添加了捆绑软件A所需的进口商品
I am trying to extend the imports of bundle A from bundle B using Fragment-Host. In bundle B I have this line: Fragment-Host: and in bundle B's Import-Package I have added the imports required by bundle A
当我尝试使用清单更新包B并启动它时,出现错误: 捆绑B中存在来自碎片的约束与主机的冲突",其中包含所有导入的列表,但是在检查捆绑A的清单时,我不明白为什么如果这些导入不存在,这些导入为什么会发生冲突
When I try to update bundle B with the manifest and start it I am getting the error: "Constraints from the fragment conflict with the host" with a list of all the imports exist in bundle B however when examining the Manifest of bundle A I don't see why these imports should conflict if they don't exist there
还值得一提的是,我在OSGi容器中仅运行两个捆绑软件的一个版本,并且我已经尝试在更新后重新启动容器.
Also worth mentioning that I only run one version of both bundles in the OSGi container and that I already tried restarting the container after the update.
捆绑清单:
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
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
有什么想法吗??
推荐答案
约束冲突很难远程诊断,尤其是因为Equinox在其错误消息中提供的信息很少... Felix在这方面做得更好,但看起来像是与某些Eclipse特定的扩展头绑定到Equinox.
Constraint conflicts are difficult to diagnose remotely, especially since Equinox gives very little information in its error messages... Felix is better at this but it looks like you are tied to Equinox with some Eclipse-specific extension headers.
有关一些一般性指针和问题的解释,请参阅我前一段时间写的以下两篇博客文章:
For some general pointers and an explanation of the problem, see the following two blog posts that I wrote some time ago:
http://njbartlett.name/2011/09/02/uses- Constraints.html
http://njbartlett.name/2011/03/31/uses-constraints-in-felix.html
这篇关于来自片段的约束与主机冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!