Как я могу настроить JDK для gradlew, чтобы использовать, для каждой машины, для каждого проекта? - PullRequest
0 голосов
/ 11 декабря 2018

Рассматриваемые проекты принадлежат нескольким организациям с открытым исходным кодом, с множеством правил для их оболочек gitignores / build.gradle / gradle.

Мой системный JDK по умолчанию установлен на Open Java 11. Мне бы хотелосьчтобы сохранить его до последней выпущенной версии JDK.

Как я могу переопределить отдельные проекты Gradle-оболочки для использования определенного JDK ?;без

  1. с использованием аргументов командной строки, я не смогу помнить каждый раз, когда мне нужно вызвать его.
  2. изменение существующих проектов gitignores, упаковщиков gradle или зафиксированных скриптов / свойств builds..
  3. с изменениями, которые необходимо постоянно игнорировать в моем локальном репозитории.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

http://www.jenv.be/ - это инструмент, который буквально создан для решения подобных проблем.

Что такое jEnv?

jEnv - это инструмент командной строки, который поможет вам забыть, как установитьпеременная среды JAVA_HOME

Может

  • Список управляемых JDK
  • Настройка глобальной версии
  • Настройка локальной версии (для каждого каталога)
  • Настройка версии экземпляра оболочки
0 голосов
/ 11 декабря 2018

Создайте файл с именем .gitignore_global в своем домашнем каталоге, если он еще не существует (кажется, обычное имя в сети).

Добавьте запись, позволяющую игнорировать, вероятно, неиспользуемый файлрасширение для всех проектов.

#ignore all privignores
*.privignore

Выполните следующую команду, чтобы добавить глобальный файл игнорирования в ваш файл git config.

git config --global core.excludesfile ~/.gitignore_global

Теперь любой файл в любом git-репо, заканчивающийся наgit будет игнорировать .privignore.

создайте сценарий bash на вашем пути, для меня соответствующая папка для пользовательских сценариев была,

~/.local/bin/ Я назвал ее gradl

#!/bin/bash
file=jdk.privignore
if [ -f "$file" ]; then
    export JAVA_HOME=`cat jdk.privignore`
fi 
echo $JAVA_HOME
exec ./gradlew "$@"

Этот скрипт установит переменную окружения JAVA_HOME равной содержанию jdk.privignore везде, где вызывается gradl.Это может быть улучшено, чтобы действовать, только если файл существует.Он также передаст все аргументы gradlew

chmod ~/.local/bin/gradl +x и даст сценарию gradl бит выполнения, чтобы его можно было запустить.

используйте sudo update-alternatives --config java для поиска другихвозможно, установлены Java.

один из вариантов будет выглядеть так: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java вам нужно удалить /jre/bin/java с конца для JAVA_HOME

создать файл в корневом каталоге вашего проекта gradle,рядом с gradlew с именем jdk.privignore

установите его содержимое на: /usr/lib/jvm/java-8-openjdk-amd64

Теперь, когда вызывается gradl, JAVA_HOME будет экспортировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...