Я не могу понять, как это работает.
Сценарий:
- У меня есть приложение, созданное с помощью gradle
- Приложение использует JavaFX
Что я хочу
- Используйте переменную (определенную для каждой машины разработчика), которая указывает на установку JDK, которая будет использоваться для сборки всего приложения / tests / ...
Я думал о наличии gradle.properties
файла, определяющего переменную. Что-то вроде
JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>
Чего я не хочу
- указать
JAVA_HOME
на желаемый JDK
Я мог бы жить со многими предложениями:
- решение, которое определяет системную переменную среды, которую я могу проверить в своем скрипте build.gradle
- переменная, определенная в gradle.properties
- переопределение переменной JAVA_HOME только для контекста сборки (что-то вроде
use JAVA_HOME=<my special JDK path defined somewhere else defined>
) - что-то еще, о чем я не думал
Вопрос:
- Как связать переменную (как она определена как переменную в
gradle.properties
системной переменной среды ...) с процессом сборки?
У меня доступно более одного JDK7, и мне нужно указать специальную версию (минимальная версия JDK_u).
Любой ответ приветствуется, и я благодарен за каждый намек в правильном направлении.
java
gradle
build.gradle
задира
источник
источник
org.gradle.java.home
вgradle.properties
файле? ссылкаorg.gradle.java.home
настройка применима только к демону gradle, по-видимому ... В любом случае, попробуйте установить fork в true и forkOptions.executable для jdk, который вы хотите использовать: linkОтветы:
Два пути
gradle.properties
в.gradle
каталоге в вашемHOME_DIRECTORY
набореorg.gradle.java.home=/path_to_jdk_directory
или:
В твоем
build.gradle
источник
gradle.properties
можно определить и на уровне проекта, см. Gradle.org/docs/current/userguide/build_environment.html./gradlew -Dorg.gradle.java.home=/path_to_jdk_directory
. Хорошо, если ты не хочешь трогатьgradle.properties
.Если вы добавите JDK_PATH в gradle.properties, ваша сборка станет зависимой от этого конкретного пути. Вместо этого запустите задачу gradle со следующим параметром командной строки
Таким образом, ваша сборка не зависит от какого-то конкретного пути.
источник
/usr/lib/java/jdk/home
которая указывает на текущую установленную версию. Конечно, когда вам нужна конкретная версия (например, u51), вам нужно быть конкретным в отношении пути. Кроме того, некоторые инструменты хотят, чтобы запуск gradle, похоже, не устанавливает JDK в среде, которую они дают gradle. И я никогда не устанавливал JDK в качестве текущего JAVA_HOME, если это не сеанс разработки.PROGRA~1
(все заглавные буквы) или что-то еще, что DIR / X говорит вам."... gradle itself (either standalone distribution or wrapper) uses JDK from JAVA_HOME environment variable or (if it is not set) from PATH".
Я указал JAVA_HOME до вызова gradlew, чтобы это исправить. (т.е.env JAVA_HOME=/path/to/java gradlew war --stacktrace
)Людям, попавшим сюда при поиске эквивалента Gradle свойства Maven
maven.compiler.source
(или<source>1.8</source>
):В build.gradle вы можете добиться этого с
Смотрите документацию Gradle по этому вопросу .
источник
Если вы выполняете с использованием Gradle Wrap, вы можете запустить команду с путем JDK следующим образом
./gradlew -Dorg.gradle.java.home=/jdk_path_directory
источник
Если вы используете linux и gradle wrapper, вы можете использовать следующее решение.
Добавьте путь к файлу local.properties:
Добавьте к вашему файлу сценария gradlew:
В этом решении каждый разработчик может установить свой собственный путь JDK. Файл
local.properties
не должен быть включен в систему контроля версий.источник
Я добавил эту строку в мой файл GRADLE_HOME / bin / gradle -
export JAVA_HOME=/path/to/java/version
источник
Есть еще один вариант для подражания. В ваших задачах вы можете установить желаемый путь JDK. (Я знаю, что это время, так как вопрос был опубликован. Этот ответ может кому-то помочь.)
Щелкните правой кнопкой мыши на развертывании или любой другой задаче и выберите «Открыть конфигурацию запуска Gradle ...»
Затем перейдите к «Java Home» и вставьте желаемый путь Java.
Обратите внимание, что bin будет добавлен самой задачей gradle. Так что не добавляйте "мусорное ведро" к пути.
источник
есть плагин Gradle, который автоматически загружает / загружает JDK:
https://plugins.gradle.org/plugin/com.github.rmee.jdk-bootstrap
Интеграция IDE еще не требуется, и для Windows требуется приличная оболочка.
источник
Для Windows запустите задачу Gradle с параметром пути JDK 11 в кавычках
источник
Как видно в Gradle (Eclipse плагин)
http://www.gradle.org/get-started
Если вы используете этот плагин Eclipse или Enide Studio 2014 , альтернативный JAVA_HOME для использования (установленный в Предпочтениях) будет в версии 0.15, см. Http://www.nodeclipse.org/history
источник
Я использую Gradle 4.2. JDK по умолчанию - Java 9. В ранние дни Java 9 Gradle 4.2 работал на JDK 8 правильно (не JDK 9).
Я установил JDK вручную, вот так, в файле
%GRADLE_HOME%\bin\gradle.bat
:источник
Если вы используете JDK 9+, вы можете сделать это:
Вы также можете увидеть следующие связанные проблемы:
-release
аргумента компилятораисточник
Android Studio
Файл> Структура проекта> Расположение SDK> Расположение JDK>
GL
Установить JDK
источник
Если вы используете Kotlin DSL, то
build.gradle.kts
добавьте:Конечно, я предполагаю, что у вас есть ОС Windows и
javac
компилятор находится в путиC:\bin\jdk-13.0.1\bin\javac
. Для ОС Linux будет аналогично.источник
Если вы просто хотите установить его один раз для запуска определенной команды:
источник