使用约束冲突.无法解析bundle修订版 com.springsource.org.apache.axis


当我

尝试运行OSGI捆绑包时出现以下错误。任何线索将不胜感激。

ERROR: Bundle com.springsource.org.apache.axis [15] Error starting mvn:
org.apache.axis/com.springsource.org.apache.axis/1.4.0 (
org.osgi.framework.BundleException: Uses constraint violation. Unable to resolve 
bundle revision com.springsource.org.apache.axis [15.0] because it is exposed to 
package 'javax.activation' from bundle revisions com.springsource.javax.activation 
[14.0] and org.apache.felix.framework [0] via two dependency chains.

链 1:

com.springsource.org.apache.axis [15.0] import: (&(osgi.wiring.package=
 javax.activation)(version>=1.1.0)(!(version>=2.0.0))) | export: 
 osgi.wiring.package=javax.activation com.springsource.javax.activation [14.0]

链 2:

 com.springsource.org.apache.axis [15.0] import: (&(osgi.wiring.package=
 javax.xml.soap)(version>=0.0.0)) | export: osgi.wiring.package=javax.xml.soap; 
 uses:=javax.activation export: osgi.wiring.package=javax.activation 
 org.apache.felix.framework [0]) 
 org.osgi.framework.BundleException: Uses constraint violation. 
 Unable to resolve bundle revision 
 com.springsource.org.apache.axis [15.0] because it is exposed to package 
 'javax.activation' from bundle revisions com.springsource.javax.activation [14.0] 
  and org.apache.felix.framework [0] via two dependency chains.

链 1:

com.springsource.org.apache.axis [15.0] import: (&(osgi.wiring.package=javax.activation)(version>=1.1.0)(!(version>=2.0.0))) | export: osgi.wiring.package=javax.activation com.springsource.javax.activation [14.0]

链 2:

com.springsource.org.apache.axis [15.0] import: (&(osgi.wiring.package=javax.xml.soap)(version>=0.0.0)) | export: osgi.wiring.package=javax.xml.soap; uses:=javax.activation export: osgi.wiring.package=javax.activation org.apache.felix.framework [0] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3980) at org.apache.felix.framework.Felix.startBundle(Felix.java:2037) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304) at java.lang.Thread.run(Thread.java:745)

从捆绑包列表中删除 com.springsource.javax.activation bundle。如果您因为特殊版本而需要此特殊的 javax.activation bundle,则需要确保您自己的导入对于该版本是正确的。现在您正在使用 com.springsource.* 捆绑包,这些捆绑包非常"旧"并且不再维护,我建议切换到:
A)官方jars(如javax.activation),其中最新版本已经是OSGi就绪的捆绑包
B)使用ServiceMix包装的捆绑包,Apache ServiceMix团队提供了许多OSGi就绪的捆绑包,这些捆绑包无法从发起者那里获得。

相关内容

最新更新