Я пытаюсь сделать OSGify
мои проекты.OSGi зависимость для org.beanio не разрешает
Я использую 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)
Ошибка:
missing requirement osgi.wiring.package; (&(osgi.wiring.package=org.beanio)(version>=2.1.0)(!(version>=3.0.0))))
Я явно не импортируя beanio
себя: он получает ее из org.jboss.fuse.bom
для этого предохранителя. camel-beanio version
- 2.15.1.redhat-621084
, который использует org.beanio v2.1.0
.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-beanio</artifactId>
</dependency>
Я Grep искал osgi:classes
и ничего не использует v3.0. Кроме того, v3.0 даже не существует. Итак, я не знаю, откуда это получается: «[2.1,3]».
Я разработал, как указать 2.1.0, но тогда он просто жалуется, что не может найти 2.1.0.
И что мне делать? Ничего не экспортирует 2.1.0. Но я не могу избавиться от него из Import-Package, потому что * включает его после поиска кода.
вы, кажется недоразумением сообщение об ошибке. В нем говорится, что для него требуется «org.beanio' version> = 2.1.0 и NOT> = 3.0.0 ... синтаксис' [2.1,3] 'означает 2.1 включительно, до 3 эксклюзивных. – Renato
Вы можете установить camel-beanio сначала, выполнив 'install: feature camel-beanio' в оболочке плавкого предохранителя. И вы всегда должны использовать ту же версию в своем проекте, что и использование Fuse. –