How to Install Apache Maven on Ubuntu and Debian

Apache Maven is a free software application management and build automation platform based on the conception of a project object model (POM), which is especially used for deploying Java-based projects, but can also be used on applications written in C#, Ruby and other programming languages.

Read Also: How to Install Apache Maven in CentOS 7

In this article, I will explain how to install and configure latest version of Apache Maven on Ubuntu and Debian distributions along with Java 8 from the PPA Repository.


  • A newly deployed or existing Ubuntu or Debian server instance.
  • Java Development Kit (JDK)Maven 3.3+ require JDK 1.7 or above to run.

Install OpenJDK 8 in Ubuntu & Debian

Java Development Kit (JDK) is a essential requirement to install Apache Maven, so first install Java on Ubuntu and Debian system using the third-party Java PPA Repository and verify the version using following commands.

$ sudo apt install software-properties-common apt-transport-https -y
$ sudo add-apt-repository ppa:webupd8team/java -y
$ sudo apt-get update -y
$ sudo apt-get install oracle-java8-installer
$ java -version

If installation went well, you see the following output.

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Install Apache Maven in Ubuntu & Debian

Next, visit the Apache Maven download page and grab the latest version of apache maven binary code or use the following wget command to download it under the maven home directory ‘/usr/local/src’.

$ sudo cd /usr/local/src
$ sudo wget

Extract the downloaded archive apache-maven-3.5.4-bin.tar.gz file, and rename the directory to ‘apache-maven’ using following commands.

$ sudo tar -xf apache-maven-3.5.4-bin.tar.gz
$ sudo mv apache-maven-3.5.4/ apache-maven/ 

Configure Apache Maven Environment

Now we will configure the environments variables for Apache Maven files on our system by creating a new configuration file ‘’ in the ‘/etc/profile.d’ directory.

$ sudo cd /etc/profile.d/
$ sudo nano

Add the following environment variables in ‘’ configuration file.

# Apache Maven Environment Variables
# MAVEN_HOME for Maven 1 - M2_HOME for Maven 2
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export M2_HOME=/usr/local/src/apache-maven
export MAVEN_HOME=/usr/local/src/apache-maven
export PATH=${M2_HOME}/bin:${PATH}

Now make the ‘’ configuration file executable and then load the configuration by running the ‘source’ command.

$ sudo chmod +x
$ sudo source /etc/profile.d/

Check Apache Maven Version

To verify Apache Maven installation, run the following mvn command.

$ mvn --version

If installation went well, you see a output similar to the following.

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-07-14T19:33:14+01:00)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "4.17.6-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"

That’s It! You have successfully installed Apache Maven 3.5.4 on your Ubuntu and Debian system. If you have any problems related to installation, do share with us in the comment section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

3 Responses

  1. M88 says:

    Hi, I have these error messages:

    The JAVA_HOME environment variable is not defined correctly
    This environment variable is needed to run this program
    NB: JAVA_HOME should point to a JDK not a JRE

  2. Ayush says:

    Thanks a lot, this is very professional method to install and configure i ever seen.

  3. Chupryna Ievgen says:

    SDKMan is much easier way to install all tools and java.

Leave a Reply to M88 Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.