- Вопрос или проблема
- Рабочая конфигурация для openjdk-17
- Я видел, что требуется одна перезагрузка, затем проверьте mvn --version
- Ответ или решение
- 1. Установка OpenJDK и Maven
- 2. Настройка переменной окружения JAVA_HOME
- a. Определите путь к установленному JDK
- b. Настройка файла /etc/environment
- c. Настройка файла /etc/profile.d/maven.sh
- 3. Применение изменений
- 4. Проверка настройки
- 5. Возможные проблемы и их решения
- Заключение
Вопрос или проблема
Я пытаюсь запустить Maven. Я установил JDK и Maven. Таким образом, я пытаюсь установить переменную Java_home уже три дня, но у меня ничего не получается.
Я следовал инструкциям из другой темы askUbuntu:
Это не работает. Никакое объяснение не говорит, как установить путь, они скорее приводят примеры, как установить свой путь. Поэтому у меня нет представления, что не так с моим, это путь к файлу в etc/environment.
Я установил maven, скачав правильную последнюю версию на сайте. Распаковал и установил в директории opt, используя известные команды sudo.
Я сам создал файл maven.sh, так как в директории profile.d не было такого файла. Вы можете увидеть, как я это настроил в выводе cat и на картинке ниже.
Тем не менее, Java_Home, установленный в моем etc/environement
, это:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64";
Это раньше было /usr/opt/jdk-13.0.1
(что вы увидите, когда терминал выдаст это в первый раз), потому что я думал, что именно так это должно работать согласно объяснению, как установить Maven.
Когда я запускаю мой maven.sh, я получаю правильную версию mvn в терминале. Когда я закрываю терминал, мне нужно снова его запустить.
Вот мой вывод терминала по версиям, помните, что после первых трех команд (version -java, -mvn и echo) я вручную запускаю свой файл maven.sh:
mussche@MuskiProBook:~$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
mussche@MuskiProBook:~$ mvn -version
Переменная окружения JAVA_HOME не определена правильно,
эта переменная окружения необходима для запуска этой программы.
mussche@MuskiProBook:~$ echo $JAVA_HOME
/usr/opt/jdk-13.0.1
mussche@MuskiProBook:~$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
mussche@MuskiProBook:~$ mvn -version
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Домашняя директория Maven: /opt/maven
Версия Java: 11.0.11, поставщик: Ubuntu, среда выполнения: /usr/lib/jvm/java-11-openjdk-amd64
Язык по умолчанию: nl_NL, кодировка платформы: UTF-8
Имя ОС: "linux", версия: "5.11.0-27-generic", архитектура: "amd64", семейство: "unix"
mussche@MuskiProBook:~$ echo $JAVA_HOME
/usr/lib/jvm/java-11-openjdk-amd64
mussche@MuskiProBook:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
mussche@MuskiProBook:~$ cat /etc/profile.d/maven.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
Содержимое /etc/profile.d/maven.sh
:
Как правильно установить maven? Как установить переменные, где найти файлы, которые нужно изменить, и как именно их изменить?
Я решил проблему. Я не знаю точно почему, но после нескольких перезагрузок (не после одной) путь устанавливался мгновенно, вместо того чтобы мне снова его запускать вручную.
С уважением,
Яник
Для ubuntu – чтобы добавить Java-openJdk
и Maven
- Установите OpenJDK через CLI
- Переместите
Maven
иGradle
в/opt/
Рабочая конфигурация для openjdk-17
sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export GRADLE_HOME=/opt/gradle-8.1
PATH=$PATH:$GRADLE_HOME/bin
export MAVEN_HOME=/opt/apache-maven-3.9.1
PATH=$PATH:$MAVEN_HOME/bin
Я видел, что требуется одна перезагрузка, затем проверьте mvn --version
Ответ или решение
Настройка переменной окружения JAVA_HOME
является важным шагом для успешной работы таких инструментов, как Maven. В этом ответе будет подробно объяснен процесс установки и настройки JAVA_HOME
и других переменных для правильной работы Maven на Ubuntu, а также решение вашей проблемы.
1. Установка OpenJDK и Maven
Чтобы начать, убедитесь, что у вас установлен OpenJDK и Maven. Для установки OpenJDK вы можете использовать следующую команду в терминале:
sudo apt update
sudo apt install openjdk-17-jdk
После установки JDK, вы можете загрузить Maven с официального сайта Apache Maven и установить его в директорию /opt/
:
- Загрузите архив Maven:
wget https://dlcdn.apache.org/maven/maven-3/<version>/binaries/apache-maven-<version>-bin.zip
- Распакуйте архив и переместите его в
/opt/
:sudo unzip apache-maven-<version>-bin.zip -d /opt/
2. Настройка переменной окружения JAVA_HOME
Переменная JAVA_HOME
указывает на директорию, в которой установлен JDK. Для настройки этой переменной выполните следующие шаги.
a. Определите путь к установленному JDK
Выполните команду, чтобы найти путь:
sudo update-alternatives --config java
Запомните путь, который вы получите, например: /usr/lib/jvm/java-17-openjdk-amd64
.
b. Настройка файла /etc/environment
Откройте файл с помощью текстового редактора (например, nano или vim):
sudo nano /etc/environment
Добавьте следующую строку (или измените существующую):
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
Не забудьте добавить PATH
:
PATH="$JAVA_HOME/bin:$PATH"
c. Настройка файла /etc/profile.d/maven.sh
Создайте и откройте файл maven.sh
в директории /etc/profile.d/
:
sudo nano /etc/profile.d/maven.sh
Добавьте следующие строки:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export MAVEN_HOME=/opt/apache-maven-3.9.1
export PATH=$PATH:$MAVEN_HOME/bin
3. Применение изменений
Для того чтобы изменения вступили в силу, вам необходимо либо перезагрузить систему, либо выполнить следующую команду:
source /etc/environment
source /etc/profile.d/maven.sh
Кроме того, вы можете просто открыть новый терминал.
4. Проверка настройки
После того как вы обновили переменные окружения, проверьте их установку с помощью следующих команд:
echo $JAVA_HOME
echo $MAVEN_HOME
mvn -version
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
MAVEN_HOME=/opt/apache-maven-3.9.1
Если все было настроено правильно, вы должны увидеть рабочие версии Java и Maven. Ваши переменные окружения теперь правильно настроены, и Maven должен работать корректно.
5. Возможные проблемы и их решения
-
Необходимость ручного источника после перезагрузки: Если после перезагрузки требуется снова делать
source
для вашегоmaven.sh
, убедитесь, что вы корректно настроили файлы и они исполняемы. Это можно сделать, выполнив команду:sudo chmod +x /etc/profile.d/maven.sh
-
Убедитесь, что не осталось конфликтующих настроек: Проверьте другие файлы настроек, такие как
~/.bashrc
,~/.bash_profile
, которые могут также содержать альтернативные установкиJAVA_HOME
иMAVEN_HOME
, что может вызывать конфликты. Удалите или закомментируйте их.
Заключение
Следуя данным инструкциям, вы должны установить и настроить переменные окружения для Java и Maven, что позволит избежать дальнейших проблем. Убедитесь в правильности всех путей к файловым системам, и ваш процесс сборки должен проходить без сбоев.