4

たくさんの依存関係を持つバンドルを開始しようとしています。エラーcould not be resolved. Reason: Missing Constraint: Import-Package: com.ibm.uvm.toolsが発生していますが、Maven リポジトリまたは Web でこのパッケージが見つかりません。このパッケージ (およびその他のパッケージ) を Import-Package ディレクティブでオプションとしてマークすることで、パッケージを解決できますが、依存関係が満たされない場合は起動に失敗します。このインポート パッケージを解決するにはどうすればよいですか?

バンドルを生成するために maven-bundle-plugin を使用しています。

4

2 に答える 2

3

解決策は、提供された依存関係として log4j の OSG 化されたバージョンを使用することでした。私はそれをコンパイル済みの依存関係として持っていました。Log4j マニフェストは、このパッケージをオプションの依存関係として言及しているため、maven-bundle-plugin はバンドルのマニフェストに追加しましたが、オプションにはしませんでした。

于 2012-12-18T13:31:00.773 に答える
2

クラスパスにいくつかの jar を使用してバンドルを構築しました。そうしないと、バンドルは という名前のパッケージ内の何も参照しませんcom.ibm.uvm.tools。ここで、この jar が OSGi 対応であるかどうかを確認する必要があります (正しいヘッダーとパッケージ エクスポートを指定します)。そのjarの「OSGi化」バージョンも存在する可能性があります。たとえば、springsourceリポジトリを見てください。

パッケージ名を見ると、公開リポジトリで再ラップされていない可能性のあるプロプライエタリ コードを想定しています。このスタックオーバーフローの質問を見て、自分でバンドルとしてラップしてみてください。

于 2012-11-27T17:35:03.747 に答える