Install Maven on Ubuntu 22.04
In this tutorial, we install the latest version of Maven on Ubuntu 22.04. Unfortunately, the Ubuntu repository ships an old version of Maven which is not compatible with the recent versions of the Java Development Kit (JDK). We will proceed with the manual installation.
Pre-requisites
Before proceeding with the Maven installation, we need to have Java already available on our machine. If you do not have it yet, have a look at this other post of mine: Install Java Temurin JDKs instead of OpenJDK. It will take just a minute. Once you complete that tutorial come back and we can proceed further.
Installation
We are going to download the latest version of Maven which is 3.8.6
at the time of writing. I will try to keep this post updated but if you want to check quickly what is the latest version now, just head over to https://maven.apache.org/download.cgi. Update the code snippet below with the target version if you find a newer one.
MAVEN_VERSION=3.8.6
wget https://downloads.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
Once we double check that the file `apache-maven-3.8.6-bin.tar.gz` was downloaded, we extract it and move it under the /opt
directory.
tar -xvzf apache-maven-3.8.6-bin.tar.gz
sudo cp -r apache-maven-3.8.6 /opt/maven
We are almost there! Next step, we configure the environment variables for Maven by creating a file named /etc/profile.d/maven.sh
. A very important variable is the JAVA_HOME
and since it can change from one system to another we need to find first where it is located. We can use java
itself to show the settings and fetch the java.home
property.
marcol@tutorials:~$ java -XshowSettings:properties -version | grep home Property settings: file.encoding = UTF-8 file.separator = / java.class.path = java.class.version = 61.0 java.home = /usr/lib/jvm/temurin-17-jdk-amd64 ...
In my case the JAVA_HOME
must be set to /usr/lib/jvm/temurin-17-jdk-amd64
and this is the environment variable file I create for Maven.
sudo tee /etc/profile.d/maven.sh > /dev/null << 'EOF'
export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}
EOF
Finally, we make the file executable and source it, so we can add mvn
to the PATH
.
sudo chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
And voilà! We got the latest version of Maven available on our environment!
marcol@tutorials:~$ mvn -version Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63) Maven home: /opt/maven Java version: 17.0.5, vendor: Eclipse Adoptium, runtime: /usr/lib/jvm/temurin-17-jdk-amd64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-56-generic", arch: "amd64", family: "unix"
Conclusion
It takes very little to install the latest version of Maven manually. If you want me to create any other tutorial, let me know in the comments sections.
Bye bye!