来自片段的约束与主机冲突 [英] Constraints from the fragment conflict with the host

查看:101
本文介绍了来自片段的约束与主机冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆