188

私はgradleでjavadocドックレットを使用しているため、jdkのlibフォルダー(私の場合は1.6.0_26)にあるパッケージtools.jarを使用する必要があります。

ポイントは、gradle が自動的に取得しないことです。そのため、そのツール パッケージを libs フォルダーに追加してから、dependencies.gradle に追加しました。

今、私はそれを私の JDK ホームから私の dependencies.gradle に直接取りたいと思っています。それを行う方法はありますか?私は依存関係.gradleで次を試しました:

compile files("${System.properties['java.home']}/lib/tools.jar")

しかし、コンパイル中には見つかりません。

4

29 に答える 29

161

CLI を介してコマンドを実行しようとしたときに、この問題が発生しました。

これは、システムが JRE フォルダを参照する際の問題でした D:\Program Files\Java\jre8\bin。そこを見ると、 がないTools.jarため、エラーが発生します。

JDK私の場合、 がどこにあるかを見つける必要があります。ディレクトリD:\Program Files\Java\jdk1.8.0_11を見ると、 が表示されます。libTools.jar

私がしたこと 新しい環境変数を作成しましたJAVA_HOMEここに画像の説明を入力

次に、PATH 変数を編集して JAVA_HOME を含める必要があります。 %JAVA_HOME%/bin; ここに画像の説明を入力

コマンドプロンプトを再度開き、実行する必要があります。

于 2016-02-25T09:25:47.597 に答える
80

それを見つけた。システム プロパティ 'java.home' は JAVA_HOME 環境変数ではありません。JAVA_HOME は JDK を指し、java.home は JRE を指します。詳細については、そのページを参照してください。

スー...私の問題は、私の開始点がjreフォルダー(C:\ jdk1.6.0_26\jre)であり、思ったようにjdkフォルダー(C:\ jdk1.6.0_26)ではないことでした(tools.jarはCにあります:\jdk1.6.0_26\lib フォルダ)。dependencies.gradle のコンパイル行は次のようになります。

compile files("${System.properties['java.home']}/../lib/tools.jar")
于 2012-07-05T13:47:52.260 に答える
75

Eclipse を使用して Gradle タスクを実行しようとすると、同じエラーが発生しました。コマンド (つまり war) を実行するたびに、プロセスは次のような例外をスローしました。

tools.jar が見つかりませんでした。C:\Program Files\Java\Jre8" が有効な JDK インストールであることを確認してください。

この投稿に記載されている解決策を試しましたが、この問題を解決するものはありませんでした。ここで私の解決策:

  1. 「Gradle タスク」ビューに移動します
  2. 実行したいタスクを右クリック
  3. [Gradle 実行構成を開く] を選択します
  4. 「Java ホーム」タブでローカル JDK リポジトリを選択し、「OK」をクリックします。

もう一度実行して、お楽しみください!

于 2016-08-19T13:21:28.763 に答える
58

gradle.properties次の内容のファイルを追加しました。

org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
于 2016-06-29T12:30:33.283 に答える
19

これを に追加gradle.properties:

org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_91

于 2016-08-08T09:25:33.363 に答える
11

2年遅すぎるかもしれませんが、最近同じ問題に遭遇しました。これは、この投稿を見つけた後の解決策です。

import javax.tools.ToolProvider

dependencies {
  compile (
    files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
    ...
  }
}

java.home が JDK ディレクトリの下にないディレクトリを指している場合や、tools.jar の代わりに classes.jar がある Mac OS でも機能するはずです。

于 2015-03-02T08:31:58.350 に答える
3

私はこの方法で問題を解決しました:

于 2019-03-13T17:17:22.907 に答える
2

私の場合 (Windows 10) では、Java の更新後に環境変数が失われたため、次の手順に基づいて変数を再度追加して修正しましたhttps://confluence.atlassian.com/doc/setting-the-java_home-variable-in -windows-8895.html

于 2017-04-25T14:19:51.510 に答える
1

tools.jar がコンパイル クラス パスにあることを確認しましたか? パスが間違っている可能性があります。

task debug << {
    configurations.compile.each { println it }
}
于 2012-07-05T13:34:12.090 に答える