0

私は、一方の開発者がWindows PCを持ち、もう一方の開発者がMacBookを持っている小さな開発環境でEclipseを使用しています。Subversionリポジトリを使用してコードを共有し、Mavenを「外部ツール」として使用します(m2eプラグインは使用しません)。

それぞれにM2_REPO変数があり、2つのシステムで.jarファイルへのパスを解決するためにうまく機能しています。ただし、最近、ソースとjavadocsをプルダウンするようにMavenに指示するコマンドを実行しました。

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true

それ以来、私の.classpathには、Macを使用している友人にとって厄介なWindows中心の参照がいくつか見られます。

<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar"
  sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4-sources.jar">
    <attributes>
      <attribute value="jar:file:/C:/Users/John/.m2/repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4-javadoc.jar!/" name="javadoc_location"/>
    </attributes>
</classpathentry>

downloadSourcesパラメーターとdownloadJavadocsパラメーターを削除し、maven-eclipse-pluginのプラグイン構成でそれらがfalseであることを確認し、.classpathファイルを削除して再実行した後でmvn eclipse:eclipseも、これらの不要な参照が.classpathファイルに配置されているのがわかります。

誰かがこの問題の良い解決策を見つけましたか?Mavenにjavadocファイルへの参照でM2_REPO変数を使用するように指示する設定を見落としていませんか?

4

5 に答える 5

3

私のチームでは、Eclipse.settings.classpathファイルをソース管理にコミットしていません。プロジェクトを最初にチェックアウトするときは、m2eを使用してクラスパスを構築し(かつてのようにEclipseの目標を設定しました)、開発者が使用しているプラ​​ットフォームに関係なく、すべてが正しく設定されています。Win 7、Mac、およびさまざまなLinuxフレーバーを使用している人々がいます。ビルドマシンはLinuxであり、私がどこでも知っている問題はありません。

于 2012-05-08T16:11:32.460 に答える
1

私はMavenを使用していません。私は唯一の開発者であり、WindowsPCとMacを持っています。私にとって、この「小さな」ソリューションはうまく機能します。両方のシステムのパスが一致するように、symbolicリンクを作成します。

C:\> mklink /d "C:\Users\xxx\android-sdks" "C:\Users\xxx\AppData\Local\Android\android-sdk"

私はこれをWindowsマシンで行いました。コマンドはmklink/d(ディレクトリ用)newDirexistingDirです。少なくともWindows7で動作します。多分これは役立つでしょう。

于 2013-08-01T18:47:52.833 に答える
0

'mvn eclipse:eclipse'を使用するのではなく、プロジェクトサイトまたはEclipseMarketplaceからM2Eclipseをインストールします。すべてのリンクアップを処理し、絶対パスを埋め込みません。

(私は常に.classpathと.settings /をバージョン管理しています)

于 2012-05-08T20:48:40.820 に答える
0

次の方法で、Mavenプロジェクトの依存関係管理を有効にしてみてください。

プロジェクトを右クリック–> Maven –>依存関係管理を有効にする

この後、.classpathファイルを削除して再作成します。

于 2012-05-08T14:59:40.717 に答える
0

リポジトリにjavadocsがある場合、maveneclipseプラグインは常にそれらをクラスパスに追加します。

-DdownloadJavadocs = trueオプションは、Eclipseプラグインにそれらをダウンロードするように指示するだけです。プラグインにそれらをクラスパスに含めるかどうかは指示しません。それらをクラスパスに含めたくない場合は、すべての-javadocを削除する必要があります。ローカルリポジトリから(またはロケートリポジトリを削除して)。

于 2013-05-03T11:38:26.930 に答える