Я пытаюсь OSGify
свои проекты.
Я использую Fuse jboss-fuse-6.2.1.redhat-084
, и если я смотрю на osgi:headers
для пакета, я получаю красную ошибку org.beanio
.
Import-Package =
com.thoughtworks.xstream;version="[1.4,2)",
javax.activation,
javax.mail;version="[1.4,2)",
javax.mail.internet;version="[1.4,2)",
javax.xml.bind,
org.apache.activemq.camel.component,
org.apache.camel;version="[2.15,3)",
org.apache.camel.builder;version="[2.15,3)",
org.apache.camel.dataformat.bindy.fixed,
org.apache.camel.spring.spi;version="[2.15,3)",
org.apache.cxf.interceptor;version="[3.0,4)",
org.apache.log4j;version="[1.2,2)",
org.beanio;version="[2.1,3)",
(others)
Ошибка:
отсутствует требование osgi.wiring.package; (&(osgi.wiring.package=org.beanio)(версия>=2.1.0)(!(версия>=3.0.0))))
Я сам явно не импортирую beanio
: он получает его из org.jboss.fuse.bom
для этого Fuse. camel-beanio version
это 2.15.1.redhat-621084
и использует org.beanio v2.1.0
.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanio</artifactId>
</dependency>
Я провел поиск в osgi:classes
, и ничто не использует версию 3.0. Кроме того, v3.0 даже не существует. Итак, я не знаю, откуда он взял это «[2.1,3)».
Я разобрался, как указать 2.1.0, но он потом просто жалуется, что не может найти 2.1.0.
Итак, что мне делать? Ничего не экспортируется 2.1.0. Но я не могу избавиться от него из Import-Package, потому что * включает его после поиска кода.
org.beanio
версия ›= 2.1.0 и НЕ ›= 3.0.0... синтаксис[2.1,3)
означает 2.1 включительно, до 3 эксклюзивных. - person Renato   schedule 05.09.2016install:feature camel-beanio
в оболочке Fuse. И вы всегда должны использовать в своем проекте ту же версию, что и Fuse. - person Claus Ibsen   schedule 06.09.2016