Пакет выставляется через две цепочки зависимостей

Мы работали в 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?

0 ответов

Другие вопросы по тегам