0

Eclipse用のMavenプラグインは、ローカルのMavenリポジトリでプロジェクトの参照ライブラリの1つに関連するソースコードを見つけsourcepath、ファイルに属性を追加してい.classpathます。

<classpathentry kind="lib" path="lib/core/guava-11.0.1.jar" sourcepath="Users/<my_user>/.m2/repository/com/google/guava/guava/11.0.1/guava-11.0.1-sources.jar">
    <attributes>
        <attribute name="javadoc_location" value="http://docs.guava-libraries.googlecode.com/git-history/v11.0.1/javadoc/"/>
    </attributes>
</classpathentry>

.classpath問題は、ローカルのMavenリポジトリへのハードコードされたパスが含まれているため、ファイルをコミットできないことです。M2_HOMEのような環境変数を使用してそれを出力するようにEclipseに指示する方法はありますか?自動化されていない場合でも、ハードコードされたパスなしでソースの場所を解決できるトークンをそこに入れることができますか?私は試した:

sourcepath="$M2_HOME/com/google/guava/guava/11.0.1/guava-11.0.1-sources.jar"

しかし、この変更を行った後、Eclipseはこのライブラリのソースの場所を解決できませんでした。

何か案は?

4

3 に答える 3

0

.classpathファイルまたは.projectファイルをコミットすることはお勧めできません。ただし、他のユーザーのプラグインと同様に、m2eがその値を追加したのと同じ方法です。Mavenは、必要に応じて(つまり、ローカルリポジトリにない)別のユーザーのPCに必要なファイルをダウンロードし、ファイルに正しいソースパスを指定し.classpathます。

お役に立てば幸いです。

于 2012-08-09T06:48:24.140 に答える
0

Maven 2 ではM2_REPO、Eclipse でクラスパス変数を設定でき、ファイルmaven eclipse:eclipseで自動的に使用され.classpathます。詳細はこちら: http://www.mkyong.com/maven/how-to-configure-m2_repo-variable-in-eclipse-ide/

まだmaven 3に移行していないので、確かではありませんが、変数M3_REPOにmaven 3の名前を付ける必要があると思います.

于 2012-08-09T06:37:22.233 に答える
0

「guava-11.0.1.jar」を Maven リポジトリに追加し、それを pom.xml の依存関係として追加します。これにより、.classpath ファイルに「classpathentry」タグがなくなります。

その後、m2eclipse プラグイン (ウィンドウ -> Maven で「アーティファクト ソースのダウンロード」をチェック) を介してソースのダウンロードを有効にします。この方法でソースを使用しても、.classpath ファイル エントリは追加されません。

于 2012-08-09T22:14:13.417 に答える