Eclipse Gradle build "Не удалось найти tools.jar"

У меня есть целый день в googled, и я попробовал почти все предлагаемые решения, никто не работает для моего затмения, совершенно не знаю, что пошло не так, он продолжал говорить "Не могу найти tools.jar", когда я пытаюсь построить через Gradle.

Что я сделал:

1) Добавьте Java Home (укажите мой JDK) в переменных среды системы.

2) Добавьте путь (содержащий tools.jar) в переменные системной среды Path.

3) Создайте dependencies.gradle файлы в папке проекта, чтобы указать Gradle искать tools.jar(compile files("${System.properties['java.home']}/../lib/tools.jar"))

4) Непосредственно поставьте compile files("${System.properties['java.home']}/../lib/tools.jar") в build.gradle dependencies.

5) В настройках проекта, перейдите Java -> Build Path -> Classpath Переменные, добавьте переменную JAVA_HOME.

6) Направьте путь построения проекта в JDK вместо JRE.

Никто из них не работает! Что еще я мог попробовать?

PS: версия Eclipse Mars 4.5.2, Gradle версия 1.12

build.gradle content (эта сборка script автоматически генерируется 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 Home:

введите описание изображения здесь

Переменная среды пути:

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

(stacktrace слишком длинный, я сокращаю его.)

Ответ 1

Хорошо, наконец, я решил проблему. Это очень просто, я снова установил JDK. Как-то глупый плагин Eclipse (или Gradle, я все еще не уверен, что пойдет не так) просто не может распознать мой старый путь JDK.

После того, как я переустановил JDK (воспользуюсь этой возможностью, я также обновляю JDK 7 до 8), мне даже не нужна переменная среды Java_home, она работает.

Ответ 2

Я бы рекомендовал запустить вашу сборку из командной строки, прежде чем пытаться использовать сборку eclipse gradle. Похоже, что есть проблема с вашим путём классов, но неясно, в чем проблема. Было бы полезно сначала удалить eclipse из микса и получить работу без eclipse. В командной строке cd в папку, где хранится build.gradle script и запускается

> gradle clean build

или

> ./gradlew clean build

Если это работает нормально, но сборка eclipse все еще терпит неудачу, чем вы узнаете, что проблема находится где-то в вашей конфигурации eclipse. Если создание проекта с помощью gradle из командной строки не работает, возникает основная проблема с проектом или установкой gradle. Существует много документации, которая объяснит, как построить проект с помощью gradle из командной строки.

Ответ 3

Шаг 1: откройте eclipse.

Шаг 2: откройте Окно → Настройки

Шаг 3: перейдите к Gradle (STS) → Аргументы

Шаг 4: выберите подходящую версию JDK для опции Java Home.       (см. изображение ниже)

введите описание изображения здесь

Ответ 4

У меня была та же проблема. Я считаю, что это вызвано JRE, что gradle настроен на использование, а не eclipse/STS JRE. На моей машине gradle отказался использовать неправильную JRE. Когда gradle установлен (даже через buildship), он помещает каталог .gradle в ваш домашний каталог (C:/Users/username) в Windows. Вы можете создать файл gradle.properties в .gradle и указать JRE/JDK, который вы хотите использовать gradle, как в этом примере:

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

Это, вероятно, будет обнаружено с помощью подхода командной строки, рекомендованного robyjwilkins. Он должен избегать необходимости переустановки JDK.

Для получения дополнительной информации см. https://docs.gradle.org/current/userguide/build_environment.html

Ответ 5

Мой ответ: мне нужно запустить Eclipse с JDK в комплекте JRE вместо автономной системы JRE.

Измените eclipse.ini, чтобы изменить поиск vm eclipse (.exe). т.е.:

-vm
C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe

Ответ 6

В моей ситуации, когда решение OP тоже не работало, ответ был

  • Щелкните правой кнопкой мыши по gradle задачам в окне Eclipse/Gradle Tasks plugin
  • Открыть вкладку "Java Home"
  • Установите Java домой в C:\Program Files\Java\jdk1.8.0_131\jre

    Каталог

    может меняться в зависимости от версии jdk

Ответ 7

Это распространенная проблема, это происходит всегда, потому что eclipse настроил JAVA_HOME или JDK_HOME для расположения JRE, в котором нет tools.jar и, следовательно, проблема. Для этого конкретного случая: Eclipse обычно использует плагины Gradle (STS) или Buildship для сборки Gradle, так как они используют настройки eclipse, обеспечивающие сбой сборки.

Теперь рассмотрим вышеизложенные факты. Есть несколько решений, которые могут работать:

  1. Если вы все еще хотите использовать встроенный gradle, то измените файл eclipse.ini, указав местоположение JDK, которое, я думаю, может быть использовано плагином, и ваша проблема может быть решена. ИЛИ вы можете даже попытаться настроить плагин STS для расположения JDK
  2. Если вы зайдете в "Окно"> "Установки"> "Gradle" и сконфигурируете его для использования внешней установки Gradle, то вы можете предоставить файл gradle.properties в вашем местоположении USER (sol. By @Andy Sinclair)

На аналогичном замечании Вы можете даже столкнуться с этой проблемой даже для обычного Java-проекта на основе Eclipse. Снова решение то же самое.

Ответ 8

Я столкнулся с этой проблемой "tools.jar not found" после установки недавнего обновления Java.

Кажется, что Oracle не связывает tools.jar с JRE.

Чтобы решить - я скопировал tools.jar из предыдущей версии в папку java/jren_nn/lib текущей JRE. затем я перезапустил затмение