1

私は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))))

私は自分自身を明示的にインポートしていません。この Fusebeanioから取得します。org.jboss.fuse.bomcamel-beanio version2.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 から取り除くことはできません。

4

2 に答える 2

1

あなたが自分で言ったように: 「camel-beanio のバージョンは 2.15.1.redhat-621084 で、org.beanio v2.1.0 を使用しています」 .

pomでこれが必要です:

<dependency>
    <groupId>org.beanio</groupId>
    <artifactId>beanio</artifactId>
    <version>2.1.0</version>
</dependency>

これは Maven Central にあるため、機能するはずです。

org.beanioコメントで述べたように、表示されたエラー メッセージは、バージョン >= 2.1.0 であり、>= 3.0 ではないパッケージが必要であることを示しています。

ここでわかるように、上記の依存関係はこのパッケージを提供します。

ただし、これは OSGi バンドルではないようです。そのため、ラップする必要があります。

于 2016-09-05T20:17:15.873 に答える