2011-08-08 21 views
1

Mavenが依存関係を管理するEclipseプロジェクトがあります。 Mavenを有効にしていないjarファイルもほとんどありません。src/main/webapp/WEB-INF/libに配置します。 Eclipseでプロジェクトをビルド/実行するのに問題はありません。 Eclipseでプロジェクトをビルドした後も、 "mvn:package"を実行することは問題ありません。しかし、 "mvn:clean"を呼び出した後、 "mvn:package"を実行すると、src/main/webapp/WEB-INF/libの下に依存関係jarファイルが見つからないため、コンパイルエラーが発生します。私がする必要があるのは、Eclipseプロジェクトを再ビルドしてから "mvn:package"を実行することです。したがって、私はEclipse IDEの外で "mvn:package"を呼び出すことはできません。EclipseプロジェクトMavenによる依存関係管理

解決方法

ありがとうございました。

答えて

0

推奨環境(Mavenリポジトリ)を設定できない場合は、に依存関係をSystem dependenciesとして追加できます。

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>foo</groupId> 
     <artifactId>bar</artifactId> 
     <version>1.2.3</version> 
     <scope>system</scope> 
     <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/foobar.jar</systemPath> 
    </dependency> 
    </dependencies> 
    ... 
</project> 
+0

システムスコープの依存関係は、プロジェクトの外部にあるアーティファクトを対象としており、特にプロジェクトの一部であるアーティファクト用に設計されていません。 Maven 3.0.Xでビルド中に警告が表示されます。最も良い解決策は、それらをRepository Managedリポジトリに入れることです。 – khmarbaise

+0

@khmarbaise私はこれがベストプラクティスではないことを本当に知っています。しかし、管理リポジトリのないソリューションが必要な場合や、プロジェクトを共有する場合(ローカルリポジトリ内に依存関係をインストールするだけでなく)、他の人とプロジェクトを共有する場合は、代わりに何をすべきですか? (間違ってはいけません - ビルドアーチファクトの管理リポジトリの使用をお勧めしますが、プロジェクト内に依存関係を置くのは悪いですか?あとで実行システムの一部でもありますか?) – FrVaBe

+0

@K 。 Claszen、私は数多くの外部jar(> 10)を持っていますが、依存関係1を1つ追加するのではなく、フォルダの下にすべてのjarを含める方法がありますか?どうも。 –

2

"Maven対応のアーティファクト"を適切なMavenリポジトリ(これまでのNexus、Artifactory)に置き、依存関係を適切に使用するようにプロジェクトを変更する必要があります。さらに、あなたはMavenを行うか、そうではなく、その間に何もしません。 Mavenはビルドツールであり、依存関係管理だけでなく、 Eclipseで作業している変更がうまくいくと(M2Eclipseを使用している場合) Mavenを正しく使用している場合は、Eclipseを使用して両方の作業を実行するか、コマンドラインでmvnパッケージを呼び出すことができます。

+0

この組織では、このMOMOではローカルMavenレポがありません。私はm2eclipseを使用しています。これにより、「Enable Dependency Management」を選択できます。 –

+0

これにもかかわらず、問題を解決するよりも複雑になります。だからあなたは決定を下すべきです:Mavenを使うかどうか。さらに、それを有効にした場合、 "Mavenのようなものではない"アーティファクトが正しく解決されません。私が前に提案したようにリポジトリマネージャに入れてください。 – khmarbaise

+0

プロジェクトがMavenを使用して構築されている場合、Nexus、Artifactory、Archivaなどの全社リポジトリマネージャをインストールする必要があります。単一の開発者にとっては非常に便利でチームにとっては不可欠です。 –

関連する問題