Я выполнил вот такой список действий.
Версия java
java --version
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment (build 17.0.3+7-Ubuntu-0ubuntu0.20.04.1)
OpenJDK 64-Bit Server VM (build 17.0.3+7-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)
Расположение Java
which java
/usr/bin/java
mkdir -p tmp
(если каталог есть, он не будет создан и не будет ошибки)
TMP_MAVEN_VERSION=3.8.5
Сохраняем архив в каталг
/tmp в домашнем каталоге
Скачиваем пакет
wget -P ~/tmp/ https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-$TMP_MAVEN_VERSION-bin.tar.gz
Затем распакуйте его в каталог
/opt и удалите архив.
sudo tar xf ~/tmp/apache-maven-*.tar.gz -C /opt
sudo rm ~/tmp/apache-maven-*-bin.tar.gz
Далее создаем sym-ссылку
sudo ln -s /opt/apache-maven-$TMP_MAVEN_VERSION /opt/maven
Настраиваем env
sudo touch /etc/profile.d/maven.sh
Вам нужно изменить владельца файла, на пользователя, под которым вошли в систему
sudo chown user /etc/profile.d/maven.sh
Откройте в редакторе, файл
maven.sh и введите
export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=$M2_HOME/bin:\$PATH
Сохраните
Чтобы использовать его без перезапуска, мы делаем его исполняемым и запускаем в
sudo chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
Проверьте
mvn -v
Получаю ошибку.
/opt/maven/bin/mvn: 1: uname: not found
/opt/maven/bin/mvn: 1: dirname: not found
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher
Закрываю терминал и снова открываю
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 17.0.3, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.13.0-44-generic", arch: "amd64", family: "unix"
Мне нужен пакет последней версии в системе.
Может кто знает как это исправить ?