【问题标题】:Uses constraint violation. Unable to resolve bundle revision com.springsource.org.apache.axis使用约束冲突。无法解决捆绑修订 com.springsource.org.apache.axis
【发布时间】:2016-07-03 01:22:58
【问题描述】:

当我尝试运行 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)

【问题讨论】:

    标签: spring osgi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-09-11
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 2015-05-29
      • 2014-08-24
      • 1970-01-01
      相关资源
      最近更新 更多