2

だから私は私のPOMに次のようなものを持っています:

<dependency>
  <!-- jsoup HTML parser library @ http://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.7.1</version>
</dependency>   

jsoup-1.7.1.jarどこかのmavenレポから取得し、Maven Dependenciesフォルダーに配置します

MANIFEST.MFこれで、コードで使用できます (Eclipse は文句を言いません) が、ファイルに依存関係を入れようとすると、次のようになります。

Import-Package: org.osgi.framework, org.jsoup, org.jsoup.nodes

Eclipse は次のように不平を言い続けます。

No available bundle exports package 'org.jsoup.nodes'
No available bundle exports package 'org.jsoup'

なぜこれが起こっているのか誰かが私に説明できますか? (何MANIFEST.MFが見えるかを決定するプロセスに興味があります)

4

2 に答える 2

2

Eclipse PDEを使用する場合は、必要なすべてのバンドルを含むターゲットプラットフォームを作成する必要があります。通常の依存関係の解決は、ターゲットプラットフォームと結合されていません。したがって、各依存関係をMavenpomとターゲットプラットフォームに追加する必要があります。

ところで。サーバーベースのOSGiプロジェクトで作業している場合は、PDEを使用しない方がよい場合があります。Mavenバンドルプラグインを使用してバンドルを作成することもできます。行ったインポートを分析し、マニフェストを自動的に作成します。ほとんどの場合、これはPDEマニフェストの最初の方法よりもはるかに優れており、Mavenでより適切に機能します。

参照:http ://www.liquid-reality.de/display/liquid/2011/02/15/Karaf+Tutorial+Part+1+-+Installation+and+First+application

于 2012-12-06T08:54:32.167 に答える
0

そのパッケージのマニフェスト ファイルに export ステートメントを追加するだけです。インポートごとに export が必要であることを忘れないでください。ここにリンクの説明を入力してください。

于 2016-05-02T09:39:31.890 に答える