# Install latest maven on Ubuntu

## Maven Installation

1. Get the latest maven from <https://maven.apache.org/download.cgi>
2. Choose a binary zip or tar archive (see Link header) and download with

```
wget https://downloads.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.zip
```

1. Unzip and move to `/usr/local/`

```
unzip apache-maven-3.8.3-bin.zip
sudo mv apache-maven-3.8.3 /usr/local
```

1. add to path and reopen terminal

```
export PATH=/usr/local/apache-maven-3.8.3/bin:$PATH
```

or

```
ln -s /usr/local/apache-maven-3.8.3/bin/mvn /usr/bin/mvn
```

1. mvn version check

```
$ mvn -version

Apache Maven 3.8.3 (...)
Maven home: /usr/local/apache-maven-3.8.3
Java version: 1.8.0_292, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-18362-microsoft", arch: "amd64", family: "unix"
```

\[1] <https://maven.apache.org/install.html>

\[2] [https://maven.apache.org/download.cgi](https://maven.apache.org/install.html)

## **Troubleshooting**

#### 1 Command 'unzip' not found

```
$ unzip apache-maven-3.8.1-bin.zip 

Command 'unzip' not found, but can be installed with:

sudo apt install unzip
```

for installing `unzip`,

do:

```
sudo apt update
sudo apt install unzip
```

#### 2 The JAVA\_HOME environment variable is not defined correctly

```
$ mvn -version

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
```

#### 3 check for java

Install Java as per the instructions in the next section.

## Java Installation

```
$ java -version

Command 'java' not found, but can be installed with:

sudo apt install openjdk-11-jre-headless  # version 11.0.11+9-0ubuntu2~20.04, or
sudo apt install default-jre              # version 2:1.11-72
sudo apt install openjdk-8-jre-headless   # version 8u292-b10-0ubuntu1~20.04
sudo apt install openjdk-13-jre-headless  # version 13.0.4+8-1~20.04
sudo apt install openjdk-14-jre-headless  # version 14.0.2+12-1~20.04
```

for installing java:

```
sudo apt update
sudo apt install openjdk-8-jdk-headless
```

{% hint style="success" %}
use JDK not JRE.\
\
i.e., openjdk-8-**jdk**-headless instead of openjdk-8-**jre**-headless\
\
otherwise you would come across an error like:\
[Unable to find javadoc command:The javadoc executable '/usr/lib/jvm/java-11-openjdk-amd64/bin/javadoc'](https://github.com/j143/systemds/issues/236)
{% endhint %}

#### Video

Run through of commands

{% embed url="<https://youtu.be/OXYqC1FFN88>" %}
