4

プレーンなMavenアーティファクトに依存するEclipseプラグインを作成しようとしています。次のプロジェクト構造を作成しました。

Parent POM
 |- Dependencies (Third Party)
 \- My Code
     |- Bundle
     \- Bundle Tests

Tychoの例itp02に従いましたが、サードパーティの依存関係のみを使用しています。私が理解したように、アイデアはすべての依存関係をバンドルにラップし、それをバンドルの入力として使用することです。依存関係バンドルを正しくビルドしてインストールできます。jarが作成され、Mavenリポジトリから取得したすべてのJARファイルが含まれています。しかし、バンドルをコンパイルしようとすると、バンドルマニフェストのパッケージをインポートできないというエラーが表示されます。

[ERROR]   Missing requirement: MyPlugin 0.0.1.qualifier requires 'package org.apache.commons.lang.StringEscapeUtils 0.0.0' but it could not be found
[ERROR] 
[ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from MyPlugin 0.0.1.qualifier to package org.apache.commons.lang.StringEscapeUtils 0.0.0.", "No solution found because the problem is unsatisfiable."]

私は何が欠けていますか?

4

1 に答える 1

5

あなたの説明から、あなたのプロジェクトがどのように設定されているか、またはあなたがそれを構築するために使用したコマンドはあまり明確ではありません。ただし、「POMの親」は、すべてを一度に構築しようとしていることを示唆しているようです。その場合、同じビルドでpom-first(maven-bundle-plugin)プロジェクトとmanifest-first(eclispe-plugin)プロジェクトを混在させることはできません。[1]を参照してください。最初にpom-firstプロジェクトをビルドしてローカルのMavenリポジトリにインストールしてから、manifest-firstプロジェクトをビルドする必要があります。

次に確認することは、正しい依存関係が構成されていること、および[2]のようにpomDependencies=considerを設定していることです。

最後に、それでも問題が解決しない場合は、ローカルのMavenリポジトリのjarファイルに正しい「Export-Package」ステートメントを含むMETA-INF/MANIFEST.MFが含まれていることを確認します。具体的にはorg.apache.commonsの行があるはずです。 lang.StringEscapeUtils。

[1] http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts#It_is_not_possible_to_mix_pom-first_and_manifest-first_projects_in_the_same_reactor_build

[2] http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp02/build02/pom.xml

于 2012-07-30T13:14:43.513 に答える