64

First of all am new to Ubuntu as well as Maven. Does anyone know how to update maven. My current version of maven is 3.0.4. I would like to update it to 3.1.1 which is the latest version. I tried

sudo apt-get update maven

but this didn't help much. Any suggestion. Am using maven for first time. Also how to install

apache-maven-3.1.1-bin.tar.gz

I know there is an command like

sudo apt-get install maven

but it will download maven and then install it.. Since I may need to install maven on a few systems downloading it each time won't be a better option for us. So I am looking forward answer for two questions

  1. How to update installed maven

  2. How to install downloaded package of maven apache-maven-3.1.1-bin.tar.gz

Olli
  • 8,971
suja
  • 751
  • 2
  • 6
  • 9

9 Answers9

57

To upgrade single package in terminal:

sudo apt-get --only-upgrade install maven

To Install downloaded package of maven apache-maven-3.1.1-bin.tar.gz

cd ~/Downloads
wget http://apache.mirrors.timporter.net/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

sudo mkdir -p /usr/local/apache-maven
sudo mv apache-maven-3.1.1-bin.tar.gz /usr/local/apache-maven
cd /usr/local/apache-maven
sudo tar -xzvf apache-maven-3.1.1-bin.tar.gz

Edit ~/.profile with gedit ~/.profile and add these four lines:

export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$M2:$PATH

don't forget to execute following command to have the update without restarting the machine

 source ~/.profile
Mina Eid
  • 839
  • 5
  • 9
  • is ' sudo apt-get --only-upgrade install maven ' upgrade maven to latest version 3.1.1 coz i tried it and still its 3.0.4 – suja Feb 13 '14 at 12:21
  • update your package list first with sudo apt-get update – Mina Eid Feb 13 '14 at 13:08
  • if it doesn't work, try with wget – Mina Eid Feb 13 '14 at 13:10
  • i tried sudo apt-get update && sudo apt-get --only-upgrade install maven.. as suja's comment says, it does not update my maven to 3.1.1. it is still 3.0.4 – Saravana Apr 10 '15 at 06:36
  • 3
    @MadhavanKumar that's because the last version published in apt is 3.0.4. You can always check that with sudo apt-get update to refresh your local cache; then apt-cache search maven and finally apt-cache showpkg <name-of-the-package> to see the current version. – Marko Bonaci May 18 '15 at 10:32
  • 6
    Does anyone know if Apache is going to update Maven on the Ubuntu repos? The package they host on the default repos still has bugs and it's been over a year. – Kenneth Worden Aug 02 '15 at 22:18
  • This answer is now dated. The simplest and cleanest solution is the newer answer by Janek Bogucki below. – user1159819 Apr 11 '16 at 17:16
  • Always mention your Ubuntu version!! 14.04 still has 3.0.x, 16.04 has 3.3.x (ight now) – Reinier Post Sep 22 '16 at 14:09
  • The methodology is NOT outdated, only the maven version. Simply change 3.1.1 to the current version, and it works fine. I successfully did that with maven 3.3.9 – vefthym Sep 30 '16 at 07:58
20

On the basis the original question asked about the latest version of Maven this PPA provides a backport from wily to trusty for Maven 3.3.9

https://launchpad.net/~andrei-pozolotin/+archive/ubuntu/maven3

Instructions to use this PPA are copied from the link above.

sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update
sudo apt-get install maven3

This worked fine for me on Ubuntu 14.04.3 LTS. The installed command was mvn without any need to add a symlink.

$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /usr/share/maven3
Java version: 1.8.0_66, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-33-generic", arch: "amd64", family: "unix"
10

There is a PPA for maven with 3.1 at https://launchpad.net/~natecarlson/+archive/maven3

sudo add-apt-repository ppa:natecarlson/maven3

The only problem is that the command-line tool from the PPA is maven3, which is going to break any scripts calling mvn.

sudo ln -s /usr/bin/maven3 /usr/bin/mvn
David Baucum
  • 1,024
  • 1
    it was /usr/bin/mvn3 in my case... – TomTasche May 24 '14 at 11:54
  • 5
    This solution looks like good, but doesn't work with recent versions of Ubuntu, like 14.04. – david.perez Oct 06 '14 at 07:56
  • outdated: latest version on ~natecarlson is 3.2.1, while latest version of maven is 3.2.5 – rofrol Feb 20 '15 at 13:50
  • 2
    There's a PPA for Utopic at: https://launchpad.net/~vkorenev/+archive/ubuntu/maven3 – Stoffe Mar 25 '15 at 18:00
  • 2
    Also, a variation on the linking is to use update-alternatives: sudo update-alternatives --install "/usr/bin/mvn" "mvn" "/usr/share/maven3/bin/mvn" 1 then switch with sudo update-alternatives --config mvn – Stoffe Mar 25 '15 at 18:01
  • W: Failed to fetch http://ppa.launchpad.net/natecarlson/maven3/ubuntu/dists/utopic/main/binary-amd64/Packages 404 Not Found – ZiglioUK Mar 30 '15 at 22:08
  • @ZiglioNZ: That PPA only works for Lucid - Precise and is outdated even if you are running one of those versions. – David Baucum Apr 01 '15 at 02:54
  • 1
    Thank you, I used http://ppa.launchpad.net/vkorenev/maven3/ubuntu – ZiglioUK Apr 07 '15 at 23:33
  • The natecarleson/maven3 is out of date and hasn't been updated for 80+ weeks now. – Archimedes Trajano Oct 09 '15 at 22:11
  • It is worth noting that although a PPA might not support an older version of Ubuntu, that doesn't mean the packages won't work. For example, I just downloaded Maven 3.3.9 from https://launchpad.net/~andrei-pozolotin/+archive/ubuntu/maven3 and installed it on Ubuntu 12.04 using dpkg and it is working just fine. – David Edwards Feb 03 '16 at 11:11
6

To install mvn3 on Ubuntu 14.04, run:

sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update
sudo apt-get install maven3

To make a symbolic link, run:

sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/mvn

Reference: https://launchpad.net/~andrei-pozolotin/+archive/ubuntu/maven3

5

I found this guide worked best for Ubuntu 14.04 to upgrade maven to 3.2.1 http://linuxg.net/how-to-install-apache-maven-3-2-1-on-ubuntu-14-04-linux-mint-17-and-their-derivative-systems/

First, remove the previous mavens of maven, do:

sudo apt-get remove maven*

Install Maven 3:

sudo apt-get install gdebi

wget http://ppa.launchpad.net/natecarlson/maven3/ubuntu/pool/main/m/maven3/maven3_3.2.1-0~ppa1_all.deb

sudo gdebi maven3_3.2.1-0~ppa1_all.deb

Symlink it, for an easier usage:

sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/maven
  • 1
    it would be much better using the PPA repository as is, not downloading debs to install them manually. see @david-baucum answer: http://askubuntu.com/questions/420281/how-to-update-maven-3-0-4-3-1-1#answer-454401 – logoff May 07 '15 at 13:22
  • same way you can download deb for Maven 3.3.9 from http://ppa.launchpad.net/andrei-pozolotin/maven3/ubuntu/pool/main/m/maven3/maven3_3.3.9-001_all.deb – Arul Feb 10 '16 at 13:36
3

Tried the instructions here and the ones on apache.org. What ultimately fixed it was creating a symbolic link for maven:

sudo ln -s /usr/local/apache-maven/apache-maven-3.2.1/bin/mvn /usr/bin/mvn
128KB
  • 343
2

If you are not comfortable with a PPA (personal package archive) where you have no assurance of the provenance this is an alternative.

From a security perspective if you don't know where it came from don't install it.

In my article I retrieve the latest file from apache which is a known and trusted source. You can get the latest version

#identify the latest version of maven
    latest=$(curl http://www-us.apache.org/dist/maven/maven-3/ | tac | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,3\}[0-9]\).*/\1/p' | head -1)
#download it
    wget http://www-us.apache.org/dist/maven/maven-3/$latest/binaries/apache-maven-$latest-bin.tar.gz

then install it from

#Unpack it
    sudo tar -zxf apache-maven-$latest-bin.tar.gz -C /usr/local/
#create a sym link to it
    sudo ln -s /usr/local/apache-maven-$latest/bin/mvn /usr/bin/mvn

as outlined in the link above and my post on stackoverflow

TomRed
  • 121
  • 1
    Please do not post the same answer to multiple questions. If the same information really answers both questions, then one question (usually the newer one) should be closed as a duplicate of the other. You can indicate this by voting to close it as a duplicate or, if you don't have enough reputation for that, raise a flag to indicate that it's a duplicate. Otherwise tailor your answer to this question and don't just paste the same answer in multiple places. – DavidPostill Apr 22 '17 at 12:03
  • 3
    @DavidPostill fair enough. But these are the questions that I searched and didn't find a useful answer on that is why I linked them together. Maybe when I build the reps I will do the duplicate but in the mean time I will raise a flag. Thanks for the advise. – TomRed Apr 22 '17 at 12:10
1

Download the latest maven from http://maven.apache.org/download.cgi

wget http://apache-mirror.rbc.ru/pub/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz
tar -zxf apache-maven-3.2.2-bin.tar.gz /tmp/
ln -s /tmp/apache-maven-3.2.2/bin/mvn /usr/local/bin/mvn

Check with

$ mvn -v
0

I just upgraded on mac and it was pretty easy. Get the maven from https://maven.apache.org/install.html Just add the maven~/bin to the PATH and update the JAVA_HOME. Then try out mvn -v to show the versions