web-dev-qa-db-ja.com

Eclipse Gradleビルド「tools.jarが見つかりませんでした」

私は終日グーグルで検索し、提案されたソリューションのほとんどすべてを試しましたが、私のEclipseで動作するものはありません。

私がしたこと:

1)システム環境変数にJava Home(私のJDKを指す)を追加します。

2)Pathシステム環境変数にパス(tools.jarを含む)を追加します。

3)プロジェクトフォルダーにdependencies.gradleファイルを作成し、gradleにtools.jar(compile files("${System.properties['Java.home']}/../lib/tools.jar"))を探すよう指示します

4)build.gradle dependenciescompile files("${System.properties['Java.home']}/../lib/tools.jar")を直接配置します。

5)そこのプロジェクト設定で、Java -> Build Path -> Classpath変数に移動し、Java_HOME変数を追加します。

6)プロジェクトビルドパスがJREではなくJDKを指すようにします。

これらのどれも機能していません!他に何ができますか?

PS:EclipseバージョンMars 4.5.2、Gradleバージョン1.12

build.gradleコンテンツ(このビルドスクリプトはEclipseによって自動的に生成されます):

apply plugin: 'Java'
apply plugin: 'Eclipse'

sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

Javaホームコンテンツ:

enter image description here

パス環境変数:

C:\Program Files\Java\jdk1.7.0_67\lib

Eclipseコンソールに表示中のエラー:

:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.152 secs
[sts] Build failed
org.gradle.tooling.BuildException: Could not execute build using Gradle 
installation 'C:\buildtools\gradle-2.12'.
Caused by: Java.lang.IllegalStateException: Could not find tools.jar

(スタックトレースが長すぎるので、短くします。)

12
GMsoF

OK、ついに問題を解決しました。非常に簡単です。JDKを再インストールしました。どういうわけか、愚かなEclipse(またはGradleプラグイン、どちらが間違っているのかはまだわかりません)が私の古いJDKパスを認識できません。

JDKを再インストールした後(この機会にJDK 7から8にアップグレードします)、Java_home環境変数さえ必要ありません。動作します。

7
GMsoF

ステップ1:Eclipseを開きます。

ステップ2:Window-> Preferencesを開く

ステップ3:Gradle(STS)-> Argumentsに移動します

ステップ4:Java Homeオプションに適切なJDKバージョンを選択します。 (下の画像を参照)

enter image description here

2
anij

OPのソリューションも機能しなかった私の状況では、答えは

  1. Eclipse/Gradle Tasksプラグインウィンドウでgradleタスクを右クリックします
  2. 「Javaホーム」タブを開く
  3. Set Java home to C:\ Program Files\Java\jdk1.8.0_131\jre

    ディレクトリはjdkのバージョンによって異なる場合があります

2
emrhzc

Eclipse gradleビルドを使用する前に、コマンドラインからビルドを実行することをお勧めします。クラスパスに問題があるように見えますが、問題の正確な原因は明確ではありません。最初にEclipseをミックスから削除し、Eclipseなしでビルドを機能させると便利です。コマンドラインで、build.gradleスクリプトが保存されているフォルダーに移動して実行します

> gradle clean build

または

> ./gradlew clean build

これで問題ないが、Eclipseビルドがまだ失敗する場合は、Eclipse構成のどこかに問題があることがわかります。コマンドラインからgradleを使用してプロジェクトをビルドできない場合は、プロジェクトまたはgradleのセットアップに根本的な問題があります。コマンドラインからgradleを使用してプロジェクトをビルドする方法を説明する多くのドキュメントがあります。

2
robjwilkins

同じ問題がありました。 gradleがEclipse/STS JREではなく使用するように構成されているのは、JREが原因であると考えています。私のマシンでは、gradleはデフォルトで間違ったJREを使用していました。 gradleをインストールすると(ビルドシップ経由でも)、Windowsのホームディレクトリ(C:/ Users/username)に.gradleディレクトリが配置されます。 .gradleにgradle.propertiesファイルを作成し、この例のようにgradleが使用するJRE/JDKを指定できます。

org.gradle.Java.home=C:/Program Files/Java/jdk1.8.0

これはおそらく、robyjwilkinsが推奨するコマンドラインアプローチを使用することで明らかになるでしょう。 JDKを再インストールする必要がなくなります。

詳細については、 https://docs.gradle.org/current/userguide/build_environment.html を参照してください

2
Andy Sinclair

私の答えは、スタンドアロンシステムJREではなく、JDKにバンドルされたJREでEclipseを実行する必要があるということです。

変更Eclipse.iniは、Eclipse(.exe)が検出したvmを変更します。すなわち:

-vm
C:\Program Files\Java\jdk1.8.0_92\jre\bin\Java.exe
2
Old Badman Grey

最近のJava=アップデートをインストールした後、この「tools.jarが見つかりません」という問題に遭遇しました。

Oracleはtools.jarをJREにバンドルしていないようです。

解決するには、以前のバージョンのtools.jarを現在のJREのJava/jren_nn/libフォルダーにコピーしました。その後、Eclipseを再起動しました

1
Dror

これは一般的な問題です。これは、EclipseがJava_HOMEまたはJDK_HOMEをtools.jarのないJREロケーションに設定しているために発生するため、常に発生します。この特定の場合:Eclipseは通常、GradleビルドにGradle(STS)またはBuildshipプラグインを使用します。これらはEclipseが提供する設定を使用するため、ビルドが失敗するためです。

次に、上記の事実を検討します。機能するソリューションがいくつかあります。

  1. それでも埋め込みgradleを使用する場合は、プラグインで使用される可能性があるJDKの場所を提供するためにEclipse.iniファイルを変更し、問題が解決される可能性があります。 OR JDKロケーションのSTSプラグインを設定することもできます
  2. [ウィンドウ]> [設定]> [Gradle]に移動して、外部Gradleインストールを使用するように構成すると、ユーザーの場所にgradle.propertiesファイルを提供できます(sol。by @Andy Sinclair)

同様の注意として、通常のEclipseベースのJavaプロジェクトでも、この問題が発生する可能性があります。ソリューションも同じです。

1
dvsakgec