Я использую javadoc doclets с Gradle, поэтому мне нужно использовать пакет tools.jar, который находится в папке lib из jdk (1.6.0_26 в моем случае).
Дело в том, что gradle не принимает его автоматически, поэтому я добавил этот пакет инструментов в папку libs, а затем добавил его в dependencies.gradle.
Теперь я хочу перенести его прямо из моего JDK-дома в мой dependencies.gradle. Есть ли способ сделать это? Я попробовал следующее в моей зависимости.
compile files("${System.properties['java.home']}/lib/tools.jar")
Но он не находит его при компиляции.
Ответы:
У меня была эта проблема, когда я пытался запускать команды через CLI.
Это была проблема с системой , глядя на JRE папку т.е.
D:\Program Files\Java\jre8\bin
. Если мы посмотрим туда, то нетTools.jar
, отсюда и ошибка.Вам нужно найти, где
JDK
находится, в моем случае:,D:\Program Files\Java\jdk1.8.0_11
и если вы посмотрите вlib
каталоге, вы увидитеTools.jar
.Что я сделал, я создал новую переменную среды
JAVA_HOME
:И тогда вам нужно отредактировать переменную PATH для включения JAVA_HOME, т.е.
%JAVA_HOME%/bin;
Снова откройте командную строку и запустите.
источник
%JAVA_HOME%\lib;
не вbin
папке.%JAVA_HOME%/bin
и%JAVA_HOME%/lib
кPath
переменной тогда?Нашел это. Системное свойство '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 должна быть:
источник
Я получил ту же ошибку, используя Eclipse, пытаясь выполнить задачу Gradle. Каждый раз, когда я запускаю команду (то есть войну), процесс выдает исключение вроде:
Я попробовал решение, указанное в этом посте, но никто из них не решил эту проблему. Вот мое решение:
Беги снова, наслаждайся!
источник
Я только что добавил
gradle.properties
файл со следующим содержанием:источник
~/.gradle/gradle.properties
файл, добавляяorg.gradle.java.home=/usr/lib/jvm/java
. У меня работает на Fedora 24.У меня был похожий случай с использованием Ubuntu . На машине была установлена только JRE . Итак, я только что выполнил команду ниже, чтобы установить JDK .
sudo apt install openjdk-8-jdk
источник
Я также боролся за это решение. Нашел лучший способ с Gradle, как описано здесь . Мы можем получить информацию о JVM / JDK от самого Gradle.
Так просто.
источник
compile
вместоruntime
NullPointerException
.В CentOS7 пакет разработки установит tools.jar. Файл отсутствует в java-1.8.0-openjdk
sudo yum install java-1.8.0-openjdk-devel
источник
Добавьте это к
gradle.properties
:источник
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144\
.Это может быть на два года позже, но я недавно столкнулся с той же проблемой, и вот решение, которое я нашел, обнаружив этот пост :
Это должно работать, если java.home указывает на каталог, который не находится в каталоге JDK, и даже в Mac OS, где у вас будет classes.jar вместо tools.jar.
источник
С Centos 7 я обнаружил, что только JDK имеет
tools.jar
, а JRE нет . Я установил Java 8 JRE (yum install java-1.8.0-openjdk
), но не JDK (yum install java-1.8.0-openjdk-devel
).Установка последней решает проблему. Кроме того, не забудьте установить
JAVA_HOME
.источник
На Windows 10 я сталкиваюсь с той же проблемой, и вот как я исправил проблему;
Advance System Settings>Environment Variables>System Variables
C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Java\jdk1.8.0_162
источник
В моей системе (Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1) нет
tools.jar
в каталоге JRE (C:\Program Files\Java\jre1.8.0_171
).Тем не менее, я нашел его
C:\Program Files\Android\Android Studio\jre\lib
и попытался установитьJAVA_HOME=C:\Program Files\Android\Android Studio\jre
Это подходит для меня)!
источник
org.gradle.java.home=E:\\Android Studio\\jre
Linux
Откройте
/etc/environment
любой текстовый редактор, например, nano или gedit, и добавьте следующую строку:Windows
В разделе «Системные переменные» нажмите кнопку «Добавить» и пройдите следующие строки:
в имени переменной:
JAVA_HOME
в значении переменной:
C:\Program Files\Java\jdk1.x.x_xxx
где
x.x_xxx
версия JDK вы можете получить здесь свою версию JDKC:\Program Files\Java
В разделе «Системные переменные» выберите «Путь», затем нажмите «Редактировать», затем нажмите кнопку «Создать» и пройдите следующую строку:
%JAVA_HOME%/bin;
источник
JAVA_HOME="/usr/lib/jvm/java-openjdk"
Это сработало для меня:
Я получаю сообщение
источник
Если вы используете терминал для сборки и у вас есть эта ошибка, вы можете указать на jdk в комплекте с android studio в вашем
gradle.properties
файле:источник
Как и другие ответы , которые я установить org.gradle.java.home свойство в gradle.properties файле. Но путь с \ разделителями не работал (сборка на windows 10):
Так что вместо
я должен был использовать
тогда сборка прошла успешно
Проблема в том, что проект собран с JRE вместо JDK, и так как я собирал его из затмения, это также сработало:
источник
В моем случае (Windows 10) после обновления Java я потерял свои переменные среды, поэтому я исправил добавленные переменные снова, основываясь на следующих шагах https://confluence.atlassian.com/doc/setting-the-java_home-variable-in -windows-8895.html
источник
Я решил проблему следующим образом:
источник
C:\Program Files (x86)\Java\jre1.8.0_211
иC:\Program Files (x86)\Java\jre1.8.0_251
Вы удостоверились, что tools.jar сделал это на пути к классам компиляции? Возможно путь неверный.
источник
Добавление пути JDK через вкладку JAVA_HOME в «Open Gradle Run Configuration» решит проблему.
источник
Я пробовал большинство лучших вариантов, но, похоже, у меня что-то не так с настройкой среды, поэтому они не помогли. То, что решило проблему для меня, было переустановить,
jdk1.8.0_201
иjre1.8.0_201
это решило ошибку для меня. Надеюсь, что это помогает кому-то.источник