Java 包使用冲突:导入带有jasperreports的包

Java 包使用冲突:导入带有jasperreports的包,java,eclipse,osgi,equinox,Java,Eclipse,Osgi,Equinox,我在OSGi中有一个常见的“使用冲突”问题,我是OSGi新手,如果这很简单,我很抱歉。我已经读过了,还有一些问题。我也读过这本书,它更详细地解释了如何调试这些问题;然而,我不明白。我找不到重复的导出(引用上一篇文章“必须始终有多个供应商才能看到违反使用约束的情况”) 这是全部错误 initial@reference:file:../../Dev/mine/target/dependency/jasperreports-3.7.1-osgi.jar [151] Package uses con

我在OSGi中有一个常见的“使用冲突”问题,我是OSGi新手,如果这很简单,我很抱歉。我已经读过了,还有一些问题。我也读过这本书,它更详细地解释了如何调试这些问题;然而,我不明白。我找不到重复的导出(引用上一篇文章“必须始终有多个供应商才能看到违反使用约束的情况”)

这是全部错误

initial@reference:file:../../Dev/mine/target/dependency/jasperreports-3.7.1-osgi.jar [151]
  Package uses conflict: Import-Package: org.apache.commons.collections.comparators; version="0.0.0"
下面是jasper清单的相关片段。它太长,无法完全粘贴

Export-Package: ...,net.sf.jasperreports.crosstabs.fill.calculation;uses:="org.apache.commons.collections,net.sf.jasperreports.engine,org.apache.commons.collections.comparators,org.apache.commons.logging,..."
下面是
packages org.apache.commons.collections.comparators
的输出,显示包被正确导出并且只导出一次

osgi> packages org.apache.commons.collections.comparators
org.apache.commons.collections.comparators; version="3.2.0"<org.apache.commons.collections_3.2.0 [869]>
osgi>包org.apache.commons.collections.comparators
org.apache.commons.collections.comparators;version=“3.2.0”

有什么想法吗?我可以试试别的吗?我真的对此表示怀疑,但是equinox是否在抱怨导出的版本是3.2.0,而
使用的版本是0.0.0?

尝试在ApacheFelix上运行这个。当发现使用冲突时,它会提供广泛的跟踪。

请尝试阅读我的其他(长)答案
我在那里列出了一个相当详细的如何找到冲突的方法。

我最后选择了第三种方法。这与@PeterKriens的建议有关,希望这将是其他人解决这些问题的另一种方法。 我安装了它,它运行在Felix之上,并使用热部署文件夹一次部署一个jar。这样我就可以在问题出现时看到问题。它很慢,但很冗长。仅使用Felix,我找不到像这样部署的方法