我在一个情况之间的冲突,在我的费利克斯OSGi容器将不通过部署Groovy后正常启动:OSGi的 - 候选人置换失败,原因是进口
OBR:部署“Groovy脚本Languge” @ 1.7。 3
托管部署&了Groovy的东西跑,直到我做了一个重新开始我的OSGi容器......那么大部分包将无法启动。 FWIW,我很确定Groovy不是原因,即使它的包名中有拼写错误。 :-)
后一些故障排除,转向对Felix的线记录(!感谢上帝),我注意到了这一点(所有其他失败的包,类似的原因中):
2011-04-03 16:26:43,108 DEBUG [FelixStartLevel] felix.wire - Candidate permutation failed due to a conflict between imports; will try another if possible. (org.apache.felix.framework.resolver.ResolveException: Unable to resolve module org.apache.felix.http.bundle [36.0] because it is exposed to package 'org.osgi.framework' from org.apache.felix.framework [0] and com.springsource.org.aspectj.tools [47.0] via two dependency chains. Chain 1: org.apache.felix.http.bundle [36.0] import: (&(package=org.osgi.framework)(version>=1.3.0)) | export: package=org.osgi.framework org.apache.felix.framework [0] Chain 2: org.apache.felix.http.bundle [36.0] import: (&(package=org.osgi.service.log)(version>=1.3.0)) | export: package=org.osgi.service.log; uses:=org.osgi.framework osgi.cmpn [15.0] import: (&(package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0))) | export: package=org.osgi.framework com.springsource.org.aspectj.tools [47.0])
好像都o.a.felix.framework
和c.s.o.aspectj.tools
正在出口o.osgi.framework
。
我能得到的东西去除捆绑ID 47(c.s.o.aspectj.tools
)再次运行,但尚未检查是否有其他含义。感觉不对,因为我删除了c.s.o.aspectj.tools
,但它被OBR存储库指定为Groovy的必需(或可选)。实际上,它是通过Groovy的obr:deploy命令安装的。
感觉像c.s.o.aspectj.tools
不应该导出o.osgi.framework
,但这只是一个猜测,因为我不使用aspectj工具的东西。
问:什么是解决此类问题,而不诉诸于猜测正确的方法是什么?
谢谢@angelo!发现这个https://issuetracker.springsource.com/browse/EBR-407错误报道似乎是相关的。我现在只是删除aspectj。 – kctang 2011-04-04 12:22:07