eclipseのm 2 eプラグインのbug
5895 ワード
問題1:eclipse 3.6 Heliosバージョンで、インストールされたhttp://m2eclipse.sonatype.org/sites/m2eプラグイン
依存関係を使う:
- <dependency>
- <groupId>com.alibaba.external</groupId>
- <artifactId>sun.jdk.tools</artifactId>
- <version>1.6.0</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
- </dependency>
問題:eclipseのは次のように提示されました。Dは存在しません。\maven.repository\com\alibababa\external\sun.jdk.tools\1.6.0\sun.jdk.tools-1.6.0.jar
- Description Resource Path Location Type
- The container 'Maven Dependencies' references non existing library 'D:\maven.repository\com\alibaba\external\sun.jdk.tools\1.6.0\sun.jdk.tools-1.6.0.jar' normandy.test-0.1.0-SNAPSHOT Build path Build Path Problem
2点のエラーがありますエラー1:java.homeを探しに移動します。ホーム、これは間違っています。
エラー2:scopeはsystemの意味であり、systemの正確な意味は以下の通りです。systemのようなprovidedは、明示的に依存を含むjarを提供する必要があります。MavenはRepositoryで検索しません。
これにより、基本的にはm 2 eプラグインのbugとして決定することができる。m 2 eのbugライブラリを調べましたが、openの状態です。具体的な参考:https://issues.sonatype.org/browse/MNGECLIPSE-2542
解決策:mvn help:effective-pom-Dutput=p.xmlを使ってプロジェクトの依存を調べて、次のように示します。
- <dependency>
- <groupId>com.alibaba.external</groupId>
- <artifactId>sun.jdk.tools</artifactId>
- <version>1.6.0</version>
- <scope>system</scope>
- <systemPath>D:\ProgramFiles\Java\jdk1.6.0_18\jre/../lib/tools.jar</systemPath>
- </dependency>
これはpomにおけるこの依存の正確な解析です。問題2:
eclipspe 3.3.1にMaven 2.0 integrationプラグインを使用する場合、m 2 eプラグインは$java.homeを取得することに問題があります。プラグインが間違っています。JAVA_homeと思います。ホーム、エラーが発生しました。
- System.out.println("JAVA_HOME: " + System.getenv("JAVA_HOME"));
- System.out.println("java.home: "+System.getProperty("java.home"));
出力結果:
- JAVA_HOME: D:\ProgramFiles\Java\jdk1.6.0_18
- java.home: D:\ProgramFiles\Java\jre6