2016-06-07 15 views
9

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

Что я сделал:

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: Затмение версии Mars 4.5.2, Gradle версия 1,12

содержание build.gradle (этот сценарий сборки генерируются автоматически затмение):

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 

(StackTrace слишком долго, я укоротить.)

+0

Обновить это, показывая, где именно вы установили JDK и какой JAVA_HOME установлен. Удалите зависимость для "tools.jar". Тебе это не нужно. Покажите весь скрипт сборки и результат сборки. –

+0

@ DavidM.Karr спасибо за совет, я обновил вопрос, – GMsoF

+0

Путь должен идти в bin, а не в lib. –

ответ

6

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

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

+1

Угнать решение с тем, что, возможно, могло быть решением без переустановки - я был в той же ситуации, что и в прошлый рабочий день. Со всеми параметрами path и eclipse, которые вы найдете, это так же просто, как трудно найти в Интернете: в eclipse.ini был указан путь к jre. Я изменил это на свой jdk, и он просто работает. –

+0

Я сильно подозреваю, что что-то испортило с помощью окна реестра, поэтому переустановить решение проблемы. – GMsoF

1

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

> gradle clean build 

или

> ./gradlew clean build 

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

+0

Привет, спасибо за ваше предложение, я пробую через командную строку, я могу ее успешно построить. Я могу использовать свое затмение для выполнения задачи 'clean', но не' build'. Все еще не знаю, почему ... – GMsoF

+0

Похоже, проблема с настройкой Eclipse. Какой плагин Gradle вы используете? Вы проверили свойства для этого?Проверьте, использует ли она ту же версию градиента, что и при запуске из командной строки. У меня есть Gradle STS, но, как правило, не выполняйте сборки градиентов из Eclipse. – robjwilkins

+0

У меня только одна версия градиента, установленная на моем ПК, для плагина eclipse gradle, это Gradle STS 3.7.3. Конфигурация в eclipse указала плагину на поиск исполняемого файла Gradle, установленного на моем ПК. – GMsoF

1

Отвечаю, что мне нужно было запустить Eclipse с JDK в комплекте JRE вместо автономной системы JRE.

Изменить eclipse.ini чтобы изменить vm eclipse (.exe) находит. то есть:

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

Шаг 1: открытое затмение.

Шаг 2: открытая Window -> Preferences

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

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

enter image description here

+0

Спасибо, это сработало отлично! –

2

У меня была такая же проблема. Я считаю, что это вызвано JRE, что град настроен на использование, а не на eclipse/STS JRE. На моей машине град по умолчанию использовал неправильную 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

0

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

  1. правой кнопкой мыши на Gradle задачи в Eclipse,/Gradle Задачи окна
  2. плагин
  3. Откройте вкладку 'Java Главная'
  4. Set Java домой C: \ Program Files \ Java \ jdk1.8.0_131 \ JRE

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

Смежные вопросы