JAVA_HOME встановлений у неправильному каталозі


13

Привіт колегам Ubuntu,

Я намагаюся навчитися писати модифікації Minecraft. Для того, щоб дотримуватися підручника, який я використовую, мені потрібно запустити "gradlew". Команда така

./gradlew setupDecompWorkspace eclipse

Це дає наступне

ERROR: JAVA_HOME is set to an invalid directory: /usr/local/java/jdk1.8.0_20

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

Очевидно, я не знаю, що робити і навіть що це означає. Будь-яка допомога дуже цінується.

Відповіді:


31

Перед запуском команди спробуйте ввести:

export JAVA_HOME="path_to_java_home"

Де path_to_java_home - папка, де знаходиться ваш bin / java.

Якщо java встановлена ​​належним чином, ви можете знайти її місцезнаходження за допомогою команди:

readlink -f $(which java)

Не забудьте видалити bin / java з кінця шляху, вводячи його в JAVA_HOME


Гаразд, я зробив те, що ви сказали, однак це дає ті ж результати, за винятком того, що шлях змінився.
Joseph_carp

1
Якщо ви запускаєте $JAVA_HOME/bin/java -versionпісля експорту, чи добре працює показ версії java?
Андрій Онищук

$ JAVA_HOME / bin / java -версія приносить баш: /usr/local/java/jdk1.8.0_20/bin/java: Немає такого файлу чи каталогу
Joseph_carp

2
здається, що ваш експорт неправильний. Покажіть використану команду експорту. А також покажіть readlink -f $(which java)вихід
Андрій Онищук

5
ви повинні встановити його в папку, де bin / java означає export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"неexport JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java"
Андрій Онищук,

13

Щоб зробити це автоматичним в Linux / Ubuntu, додайте ці рядки наприкінці свого .bashrc:

JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME

Це отримує виконуваний файл Java, а потім піднімається на рівень каталогу

Щоб призначити версію / виконувану версію Java на Debian / Ubuntu, запустіть це один раз :

sudo update-alternatives --config java

Це ґрунтується на попередній відповіді Андрія Онищука (спасибі!)


Його робота як шарм. Це вирішило мою проблему через 3 дні.
Хітеш Сарсава

1

Спробуйте відредагувати / usr / bin / gradle

Прокоментуйте рядок "export JAVA_HOME = / usr / lib / jvm / default-java" за допомогою #

це: #export JAVA_HOME = / usr / lib / jvm / default-java


1

Отримайте шлях Java за допомогою команди

whereis java

Далі можливий вихід залежно від версії Java за замовчуванням

java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk1.8.0_241/jre/bin/java

Maven потрібно вибрати місце розташування Java (домашнє), щоб ви могли експортувати шлях Java за допомогою наступної команди

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre

Це дозволить Maven вибирати версію та розташування Java у файлі / etc / Environment

За бажанням ви можете додати це в / etc / середовищі вручну за допомогою наступної команди

sudo nano /etc/environment

і відредагуйте JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.