Я использую сервер приложений wso2 5.1.0. Я развернул свой собственный пакет с именем demo-service, который содержит определение пакета импорта в своем манифесте, как показано ниже:
>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 strong> оба контейнера были конвертированы в пакет 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;version="[1.4,2)"
Есть ли способ экспортировать пакеты commons-dbcp-1.4.jar после того, как он будет преобразован из пакета не-osgi в пакет osgi, потому что Мне нужно убедиться, что мой пакет демонстрационных услуг должен быть связан с commons-dbcp-1.4.jar..
Короче говоря, любая версия стороннего jar-файла, которую я помещаю в контейнер папки WSO2_HOME\repository\components\lib, экспортирует его с версией = "0.0.0" .. что препятствует основной концепции загрузки классов OSGi
пожалуйста, предложите, возможно ли какое-либо обходное решение в этом случае .. :)
Спасибо ..