Read in 4 minutes

last updated 

How to install Apache Maven on CentOS 7

Apache Maven is a free and open source project management and comprehension tool used primarily for Java projects. Maven uses a Project Object Model (POM) which is essentially a XML file containing information about the project, configuration details, the project’s dependencies, and so on.

In this tutorial we will show you two different ways to install Apache Maven on CentOS 7.

The official CentOS repositories contains Maven packages that can be installed with the yum package manager. This is the easiest way to install Maven on CentOS, however the version included in the repositories may lag behind the latest version of Maven.

To install the latest version of Maven follow the instructions provided in second part of this article where we will be downloading Maven from their official website.

Choose the installation method that is most appropriate for your setup and environment.

Prerequisites

The user you are logging in as must have sudo privileges to be able to install packages.

Installing Apache Maven on CentOS with Yum

Installing Maven on CentOS 7 using yum is a simple, straightforward process.

  1. Install Maven by typing the following command in your terminal:

    sudo yum install maven
  2. Verify the installation by typing the mvn -version command:

    mvn -version

    The output should look something like this:

    Apache Maven 3.0.5 (Red Hat 3.0.5-17)
    Maven home: /usr/share/maven
    Java version: 1.8.0_191, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix"

That’s it. Maven is now installed on your CentOS system and you can start using it.

Install the Latest Release of Apache Maven

The following sections provide a step by step instructions about how to install the latest Apache Maven version on CentOS 7. We’ll be downloading the latest release of Apache Maven from their official website.

1. Install OpenJDK

Maven 3.3+ require JDK 1.7 or above to be installed. We’ll install OpenJDK, which is the default Java development and runtime in CentOS 7.

Install the OpenJDK package by typing:

java-1.8.0-openjdk

Verify that Java was successfully installed by running the following command:

java -version

The output should look something like this:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

If you prefer Oracle Java over OpenJDK follow these instructions to install Oracle Java.

2. Download Apache Maven

At the time of writing this article, the latest version of Apache Maven is 3.6.0. Before continuing with the next step you should check the Maven download page to see if a newer version is available.

Start by downloading the Apache Maven in the /tmp directory using the following wget command:

wget https://www-us.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz -P /tmp

When the download is completed, extract the archive in the /opt directory:

sudo tar xf /tmp/apache-maven-3.6.0.tar.gz -C /opt

To have more control over Maven versions and updates, we will create a symbolic link maven which will point to the Maven installation directory:

sudo ln -s /opt/apache-maven-3.6.0 /opt/maven

To upgrade your Maven installation, simply unpack the newer version and change the symlink to point to it.

3. Setup environment variables

Next, we’ll need to setup the environment variables. Open your text editor and create a new file named mavenenv.sh inside of the /etc/profile.d/ directory.

sudo nano /etc/profile.d/maven.sh

Paste the following lines:

/etc/profile.d/maven.sh
export JAVA_HOME=/usr/lib/jvm/jre-openjdk
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}

Save and close the file. This script will be sourced at shell startup.

Make the script executable by typing:

sudo chmod +x /etc/profile.d/maven.sh

Load the environment variables by typing:

source /etc/profile.d/maven.sh

4. Verify the installation

To verify that Maven is installed, use the mvn -version command which will print the Maven version:

mvn -version

You should see something like the following:

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T18:41:47Z)
Maven home: /opt/maven
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix"

That’s it. The latest version of Maven is now installed on your CentOS system.

Conclusion

You have successfully installed Apache Maven on your CentOS 7. You can now visit the official Apache Maven Documentation page and learn how to get started with Maven.

If you hit a problem or have a feedback, leave a comment below.