如何升级Maven 3.0.4至3.1.1

首先,我对Ubuntu和Maven都不太熟悉。有人知道如何更新Maven吗?我当前使用的版本是3.0.4,我想将其更新到最新版本3.1.1。我尝试过...
sudo apt-get update maven

但这并没有帮助太多。有什么建议吗?我是第一次使用Maven。还有,如何安装?

apache-maven-3.1.1-bin.tar.gz

我知道有一个命令像这样:

sudo apt-get install maven

但它会下载 Maven 并安装它。由于我可能需要在几个系统上安装 Maven,每次都下载它并不是一个更好的选择。所以我期待着以下两个问题的答案:

  1. 如何更新已安装的 Maven?

  2. 如何安装已下载的 Maven 包 apache-maven-3.1.1-bin.tar.gz?


可能是Gradle在Ubuntu上的Launchpad的重复问题。 - lemonsqueeze
最简单的方法可能是使用sdkman。 - lemonsqueeze
9个回答

在终端中升级单个软件包:
sudo apt-get --only-upgrade install maven

安装下载的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

使用gedit ~/.profile编辑~/.profile文件,并添加以下四行内容:
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
不要忘记执行以下命令,以便在不重启机器的情况下进行更新。
 source ~/.profile

执行 'sudo apt-get --only-upgrade install maven' 命令可以将 Maven 升级到最新版本 3.1.1 吗?因为我尝试过,但仍然是 3.0.4。 - suja
请先使用sudo apt-get update命令更新您的软件包列表。 - Mina Eid
如果不起作用,尝试使用wget进行操作。 - Mina Eid
我尝试了sudo apt-get update && sudo apt-get --only-upgrade install maven,如Suja的评论所说,它没有将我的Maven更新到3.1.1,它仍然是3.0.4。 - Madhavan
3@MadhavanKumar 这是因为在apt中发布的最新版本是3.0.4。你可以随时通过运行sudo apt-get update来刷新本地缓存;然后运行apt-cache search maven,最后运行apt-cache showpkg <name-of-the-package>来查看当前版本。 - Marko Bonaci
6有人知道Apache是否会在Ubuntu软件仓库上更新Maven吗?他们在默认仓库中托管的软件包仍然存在缺陷,而且已经过去了一年多。 - Kenneth Worden
这个答案现在已经过时了。最简单、最清晰的解决方案是下面Janek Bogucki提供的新答案。 - user1159819
请始终提及您的Ubuntu版本!14.04版本仍使用3.0.x,16.04版本目前使用3.3.x。 - Reinier Post
方法论并不过时,只是Maven版本过时了。只需将3.1.1更改为当前版本,就可以正常工作。我成功地使用了Maven 3.3.9进行了这样的更改。 - vefthym

根据原始问题,这个PPA提供了从"wily"到"trusty"的Maven 3.3.9版本的回溯。

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

使用此PPA的说明已从上面的链接复制。
sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update
sudo apt-get install maven3
这对我在Ubuntu 14.04.3 LTS上运行得很好。安装的命令是mvn,无需添加任何符号链接。
$ 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"

最简单和最干净的解决方案,无需创建符号链接。谢谢! - user1159819

这里有一个 Maven 的 PPA,版本为 3.1,链接在 https://launchpad.net/~natecarlson/+archive/maven3

sudo add-apt-repository ppa:natecarlson/maven3

唯一的问题是PPA中的命令行工具是maven3,这将破坏调用mvn的任何脚本。
sudo ln -s /usr/bin/maven3 /usr/bin/mvn

1在我的情况下,它是 /usr/bin/mvn3... - TomTasche
5这个解决方案看起来不错,但是不能在最新的Ubuntu版本(如14.04)上运行。 - david.perez
过时的:~natecarlson上的最新版本是3.2.1,而maven的最新版本是3.2.5。 - rofrol
2这里有一个针对Utopic的PPA:https://launchpad.net/~vkorenev/+archive/ubuntu/maven3 - Stoffe
2此外,链接的一个变种是使用update-alternatives命令:sudo update-alternatives --install "/usr/bin/mvn" "mvn" "/usr/share/maven3/bin/mvn" 1,然后通过sudo update-alternatives --config mvn进行切换。 - Stoffe
无法获取 http://ppa.launchpad.net/natecarlson/maven3/ubuntu/dists/utopic/main/binary-amd64/Packages 的内容,返回 404 未找到。 - ZiglioUK
@ZiglioNZ:那个PPA只适用于Lucid - Precise版本,即使你正在运行其中之一,也已经过时了。 - David Baucum
1谢谢,我使用的是http://ppa.launchpad.net/vkorenev/maven3/ubuntu。 - ZiglioUK
natecarleson/maven3已经过时,并且已经有80多个星期没有更新了。 - Archimedes Trajano
值得注意的是,尽管PPA可能不支持较旧版本的Ubuntu,但这并不意味着软件包无法运行。例如,我刚刚从https://launchpad.net/~andrei-pozolotin/+archive/ubuntu/maven3下载了Maven 3.3.9,并在Ubuntu 12.04上使用dpkg进行了安装,它运行得很好。 - David Edwards

在Ubuntu 14.04上安装mvn3,运行以下命令:
sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update
sudo apt-get install maven3

要创建一个符号链接,请运行以下命令:
sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/mvn

参考资料:https://launchpad.net/~andrei-pozolotin/+archive/ubuntu/maven3

这可能是更现代的解决方案。非常感谢。 - matanster
无法找到软件包maven3 - Vasil Valchev
太棒了,我整天都在努力让这个工作起来,谢谢! - Matt Korostoff

我发现这个指南对于Ubuntu 14.04升级maven到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/ 首先,删除之前的maven版本,执行以下操作:
sudo apt-get remove maven*

安装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

创建符号链接,以便更方便地使用:
sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/maven

1最好使用PPA存储库本身,而不是手动下载Deb文件进行安装。请参考@david-baucum的回答:http://askubuntu.com/questions/420281/how-to-update-maven-3-0-4-3-1-1#answer-454401 - logoff
你可以从http://ppa.launchpad.net/andrei-pozolotin/maven3/ubuntu/pool/main/m/maven3/maven3_3.3.9-001_all.deb下载Maven 3.3.9的deb包,方法与之前一样。 - Arul

尝试了这里的指示和apache.org上的指示。最终解决问题的方法是为Maven创建一个符号链接。
sudo ln -s /usr/local/apache-maven/apache-maven-3.2.1/bin/mvn /usr/bin/mvn

如果您对没有可靠来源的个人软件包存档(PPA)感到不舒服,这是一个替代选择。
从安全角度来看,如果您不知道它来自哪里,请不要安装它。
在我的文章中,我从已知且可信任的Apache源中检索最新文件。您可以获取最新版本。
#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

然后从中安装它。
#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

如上面链接所述以及我在stackoverflow上的帖子中提到的。


1请不要在多个问题中发布相同的答案。如果相同的信息确实回答了这两个问题,那么应该关闭一个问题(通常是较新的问题),将其标记为重复。您可以通过投票将其关闭为重复,或者如果您没有足够的声望,可以举旗标记表示它是一个重复问题。否则,请根据这个问题定制您的答案,而不只是在多个地方粘贴相同的答案。 - DavidPostill
3@DavidPostill 好吧,说得对。但这些是我搜索过的问题,没有找到有用的答案,所以我把它们链接在一起。也许等我建立了声望之后会进行重复提问,但在此期间我会发出警告。谢谢你的建议。 - TomRed

http://maven.apache.org/download.cgi下载最新的Maven。
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

请核实

$ mvn -v

我刚刚在Mac上升级了,非常容易。 从https://maven.apache.org/install.html获取Maven。 只需将maven~/bin添加到PATH并更新JAVA_HOME。 然后尝试运行mvn -v以显示版本。