私は Apache Maven を使用して、Java ライブラリ (jar) と、そのライブラリを使用するいくつかのプロジェクトを管理しています。便宜上、編集のために Eclipse ワークスペースにインポートできるEclipse プロジェクト ファイルmvn eclipse:eclipse
を生成するために使用します。
メイン プロジェクトと Java lib プロジェクトを同じ Eclipse ワークスペースで編集すると、問題が発生します。つまり、期待どおりの依存関係ではなく、ファイルにsrc パスの依存関係がmvn eclipse:eclipse
含まれます。.classpath
jar
という名前の Java lib プロジェクトがあるとしmylib
ます。対応する jar ファイルmylib.jar
は、私が管理するプライベート Maven リポジトリにデプロイされています。メイン プロジェクトで mylib.jar を使用するために、次の依存関係が に含まれていpom.xml
ます。
<!-- pom.xml for the main project -->
<dependency>
<groupId>namespace.my</groupId>
<artifactId>mylib</artifactId>
<version>[1.0, )</version>
</dependency>
mvn compile
私のレポから自動的にダウンロードされ、mvn test
完璧に機能します。mylib.jar
ただし、試してみるとmvn eclipse:eclipse
、生成されたファイルに期待どおりの依存関係が.classpath
含まれていないことがわかりました。mylib.jar
代わりに、次のように mylib のソース ファイル ディレクトリが含まれます。
<!-- .classpath file generated by mvn eclipse:eclipse -->
<classpathentry kind="src" path="/mylib"/>
Maven が Eclipse のメタデータを読み取り、mylib とメイン プロジェクトが同じワークスペースに共存しているのを見つけたようです。したがって、maven には私の利益のためのソースが含まれています。くそ。ローカル プロジェクト ソースを無視して jar ファイルだけを含めるように Maven に指示するにはどうすればよいですか?