Пакет выставляется через две цепочки зависимостей
Мы работали в jboss-fuse-6.2.1.redhat-084 с верблюжьей версией 2.15.1. Мне нужно использовать camel-protobuf 2.15.1 (зависимость от protobuf-java 2.6.1) в маршруте для преобразования сообщений. Между тем, протоколы сообщений скомпилированы с protobuf-java 3.0.
Манифест комплекта включает в себя:
Import-Package: org.apache.camel.dataformat.protobuf;version=" 2.15.0.3", com.google.protobuf;version="[3.0.0,3.1.0)"......
В этом случае я получаю следующее сообщение об ошибке:
Uses constraint violation. Unable to resolve resource esb-route [esb-route/4.0.0] because it is exposed to package 'com.google.protobuf' from resources com.google.protobuf [com.google.protobuf/3.0.0] and com.google.protobuf [com.google.protobuf/2.6.1] via two dependency chains.
Chain 1:
esb-route [esb-route/4.0.0]
import: (&(osgi.wiring.package=com.google.protobuf)(version>=3.0.0)(!(version>=3.1.0)))
|
export: osgi.wiring.package: com.google.protobuf
com.google.protobuf [com.google.protobuf/3.0.0]
Chain 2:
esb-route [esb-route/4.0.0]
import: (&(osgi.wiring.package=org.apache.camel.dataformat.protobuf)(version>=2.15.0)(!(version>=3.0.0)))
|
export: osgi.wiring.package=org.apache.camel.dataformat.protobuf; uses:=com.google.protobuf
org.apache.camel.camel-protobuf [org.apache.camel.camel-protobuf/2.15.1.redhat-621084]
import: (&(osgi.wiring.package=com.google.protobuf)(version>=2.6.0)(!(version>=3.0.0)))
|
export: osgi.wiring.package: com.google.protobuf
com.google.protobuf [com.google.protobuf/2.6.1]
Как я могу настроить свой пакет так, чтобы импортированный camel-protobuf не использовал protobuf-java 2.6.0, а 3.0?