2

私はいくつかの Hadoop ライブラリ (hadoop-common、hadoop-auth、hadoop-hdfs) を使用している Eclipse で Maven プロジェクトを持っており、これらは jdk.tools に依存しています。このプロジェクトを別のマシンでチェックアウトすると、正常に動作しますが、私の場合、pom.xml は「アーティファクト jdk.tools:jdk:tools:jar:1.6 がありません」と文句を言います。手動で依存関係を追加し、ローカル ドライブ (例: "${JAVA_HOME}/../lib/tools.jar") でファイルを指定することでこれを修正できますが、なぜそれが 1 台のコンピューターでは機能するのかを理解したいと思います。別の - 私の設定に何か問題があると思いますか?

私は次のことを試しました:

「-vm C:\Program Files\Java\jdk1.6.0_25\bin\javaw.exe」を eclipse.ini ファイルに追加して、Eclipse が JDK で実行されていることを確認しました。Eclipse プリファレンス Java -> Installed JREs の下にリストされている唯一の JRE は、同じ JDK です。Eclipse プリファレンス Maven で Maven バージョンを切り替えてみました -> 「埋め込み (3.0.4)」、「外部 (3.0.4)」、「外部 (2.2.1)」の間のインストール

おそらく、maven settings.xml ファイルに追加/変更する必要があるものはありますか?

任意の提案をいただければ幸いです!

参考までに、Eclipse Java EE Juno SR1 および M2E 1.2.0 を使用しています。

4

3 に答える 3

2

JAVA_HOME は、java が settings.xml ファイルにインストールされているフォルダーを指している必要があります。JAVA_HOME プロパティがあり、正しいフォルダーを指していることを確認してください。

${JAVA_HOME}/../lib/tools.jar が正しくありません。tools.jar は /lib フォルダーの下にあり、/lib フォルダーは ${JAVA_HOME} フォルダーのすぐ下にあるため、${JAVA_HOME}/lib/tools.jar である必要があります。

于 2013-02-08T03:45:56.757 に答える
1

また、eclipse.ini ファイルに以下を追加しました。

-vm
${JAVA_HOME}/bin

そして、それは私の問題を解決したようです。

注: Eclipse 4.3 (Kepler) を実行しています。

于 2014-07-03T22:42:19.310 に答える
0

オプションは3つあるようです。最初の 2 つは、最初に見つかった Java が JDK の Java であることを保証し、Eclipse がシステムの依存関係を JDK の下の jar に適切に変換する結果となります。最後の方法では、各ユーザーが特別な方法で Eclipse を実行する必要はありませんが、開発環境が運用環境と 100% 同期していない場合に影響を与える可能性があります。jdk.tools 1.6 が存在することを期待しているのに、1.7 または 1.8 でテストを行った場合は、驚くかもしれません。

  • eclipse.ini 経由

--launcher.appendVmargs -vm
c:/code/Java/jdk1.8.0_40/jre/bin/server/jvm.dll -vmargs -Dosgi.requiredJavaVersion=1.6

  • パス経由

set PATH=PATH-TO-JDK\bin;%PATH% PATH-TO-ECLIPSE\eclipse.exe

  • ポンポン経由

add tools.jar as jdk.tools:jdk.tools:<JDK version> to your local or private shared repo (nexus/artefactory etc) add dependency to your project

于 2015-07-06T18:02:56.553 に答える