无法在wso2应用服务器中使用我自己的捆绑包连接正确的捆绑包

时间:2013-09-06 05:33:51

标签: osgi wso2 wso2carbon apache-commons-dbcp osgi-bundle

我正在使用wso2 Application Server 5.1.0。 我已经部署了我自己的名为 demo-service 的包,其包含清单中的import-package定义,如下所示:

>Bundle-SymbolicName = demo-service
Import-Package = javax.sql,org.apache.commons.dbcp;version="[1.4,2)"

我尝试在OSGi世界中诊断出最流行的“使用冲突”,我发现 commons-dbcp_1.4.0.wso2v1.jar commons-dbcp-1.4。 jar 两者都按容器转换为OSGi包并导出其版本为“0.0.0”的包,可从以下输出中查看:

>osgi> packages org.apache.commons.dbcp
org.apache.commons.dbcp; version="0.0.0"<commons-dbcp_1.4.0.wso2v1 [49]>
  compass_2.0.1.wso2v2 [60] imports
  org.wso2.carbon.core_4.1.0 [256] imports
  org.wso2.carbon.registry.core_4.1.0 [377] imports
  org.wso2.carbon.tenant.mgt_2.1.0 [434] imports
  synapse-commons_2.1.1.wso2v3 [528] imports
  synapse-core_2.1.1.wso2v3 [529] imports
org.apache.commons.dbcp; version="0.0.0"<commons_dbcp_1.4_1.0.0 [57]>

根据我的演示服务包的要求,它无法找到 org.apache.commons.dbcp;版本= “[1.4,2)”

非osgi 包转换为 osgi commons-dbcp-1.4.jar 的包> bundle因为我需要确保我的演示服务包应该与 commons-dbcp-1.4.jar 连接..

简而言之,我放入WSO2_HOME \ repository \ components \ lib文件夹容器中的任何版本的thirdparty jar导出它的版本=“0.0.0”..这阻碍了OSGi类加载的主要概念

如果在这种情况下可以采取任何解决方法,请建议.. :)

谢谢..

0 个答案:

没有答案