如何安装Maven 3?

Maven 2位于存储库中,但不是Maven 3.如何正确安装Maven 3? 我找到的指南并没有真正正常工作。

我正在使用Natty,但我相信这不会改变任何东西。

Maven3是Ubuntu 12.04的默认设置(精确)

Maven2是11.10的最新版本。

maven3的PPA似乎相当稀少 – 这里是特立独行的 PPA – 虽然不是最新版本。

最好的建议是使用适用于您的发行版的稳定版本。

但是,如果您想自己保持最新,那么下载代码并自行安装非常简单。

从此处下载.tar.gz文件,并按照同一网页上的安装指南进行操作

这是一个maven3 PPA,在64位Ubuntu 11.10上运行良好

sudo add-apt-repository ppa:natecarlson/maven3 sudo apt-get update && sudo apt-get install maven3 

如果您已经从规范存储库安装了maven2,则不会替换它,但会为您提供mvn3二进制文件。

如果您希望使用名为mvn而不是mvn3的二进制文件,则只需执行以下操作:

 sudo ln -s /usr/bin/mvn3 /usr/bin/mvn 

资源

问题是陈旧的,但金。 我今天必须找到解决方案。 开始了。 不需要使用不安全的存储库,因为maven3已经包含在Ubuntu存储库中。 Ubuntu 14.04 LTS的解决方案如下:

  • sudo apt-get install maven
  • sudo update-alternatives --config mvn

使用第2个命令,您需要设置使用的版本。 您可以通过选择maven2不属于它的路径来区分正确的目录。

  *0 /usr/share/maven2/bin/mvn 200 Auto-Modus 1 /usr/share/maven/bin/mvn 150 manueller Modus 2 /usr/share/maven2/bin/mvn 200 manueller Modus 

在我的情况下,我必须选择1

使用发出的命令mvn -v您可以validation设置是否成功以及是否选择了正确的版本。 下面是一个返回值的示例。

  ~$ mvn -version Apache Maven 3.0.5 Maven home: /usr/share/maven Java version: 1.7.0_75, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre Default locale: de_DE, platform encoding: UTF-8 OS name: "linux", version: "3.13.0-45-generic", arch: "amd64", family: "unix" 

希望这对你有所帮助。

我创建了一个新的脚本,不仅应该安装Maven +将它添加到bin中,而是在你使用Ubuntu作为VirtualBox guest虚拟机然后尝试安装现有的’.m2’和maven文件夹时可能会/可能不包含现有的设置。

如果它在Windows或Unix上运行,Maven保持不变,所以你可以在两者之间使用相同的Maven这是你的VirtualBox设置……

PS。 请注意可以从/ usr / local / bin安装/卸载共享文件夹的脚本的构建:)

 #!/bin/bash #Author: Yucca Nel http://thejarbar.org #Will restart system PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:." export PATH #Modify these variables as needed... tempWork=/tmp/work defaultStartScript=/etc/init.d/rc.local defaultMaven=3.0.3 locBin=/usr/local/bin mavenUsrLib=/usr/lib/maven mkdir -p $mavenUsrLib mkdir -p $HOME/.m2 read -p "Please [Enter] full path name of your local startup script ($defaultStartScript is the default). Please make sure on this before providing a value by consulting documentation for your system:" locStartScript locStartScript=${locStartScript:-$defaultStartScript} read -p "Please [Enter] Maven Version ($defaultMaven is default):" mavenVersion mavenVersion=${mavenVersion:-$defaultMaven} if [ ! -f $locStartScript ] then echo "The file you provided could not be found. Remember to include the full path and try again. Exiting in 7 secs..." sleep 7 exit 1 fi mkdir -p /$tempWork cd /$tempWork sudo wget http://mirrors.powertech.no/www.apache.org/dist//maven/binaries/apache-maven-$mavenVersion-bin.tar.gz tar -zxvf ./* #Move it to a more logical location sudo mv -f ./apache-maven-$mavenVersion $mavenUsrLib/ #If you have Maven on Windows and use VirtualBox, you can set up the maven to be a virtualbox shared folder. #The name must match the name used below (ignore if irrelevant to you). if [ -f /sbin/mount.vboxsf ] then sudo /sbin/umount $HOME/.m2 sudo /sbin/umount $mavenUsrLib sudo /sbin/mount.vboxsf .m2 $HOME/.m2 sudo /sbin/mount.vboxsf maven $mavenUsrLib fi if mountpoint -q $HOME/.m2 && mountpoint -q $mavenUsrLib then #Add it to the start script to automate process... sudo sed -ie '$d' $locStartScript if ! grep "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" $locStartScript then echo "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | sudo tee -a $locStartScript fi if ! grep "sudo /sbin/mount.vboxsf maven $mavenUsrLib" $locStartScript then echo "sudo /sbin/mount.vboxsf maven $mavenUsrLib" | sudo tee -a $locStartScript fi echo "exit 0" | sudo tee -a $locStartScript sudo chmod +x $locStartScript #Create a mount and unmount script file... rm -rf $tempWork/* echo '#!/bin/bash' > $tempWork/maven-mount.sh echo "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" >> $tempWork/maven-mount.sh echo "sudo /sbin/mount.vboxsf maven $mavenUsrLib" >> $tempWork/maven-mount.sh echo "echo 'mounted maven'" >> $tempWork/maven-mount.sh echo "exit 0" >> $tempWork/maven-mount.sh echo '#!/bin/bash' > $tempWork/maven-umount.sh echo "sudo umount $HOME/.m2" >> $tempWork/netbeans-umount.sh echo "sudo umount $mavenUsrLib" >> $tempWork/netbeans-umount.sh echo "echo 'unmounted maven'" >> $tempWork/maven-mount.sh echo 'exit 0' >> $tempWork/maven-umount.sh #Script for mounting ALL VirtualBox shared solders.... #If there isn't one create one... if [ ! -f $locBin/mount-all-from-host.sh ] then echo '#!/bin/bash' > $tempWork/mount-all-from-host.sh echo "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | sudo tee -a $tempWork/mount-all-from-host.sh echo "sudo /sbin/mount.vboxsf maven $mavenUsrLib" | sudo tee -a $tempWork/mount-all-from-host.sh echo "exit 0" | sudo tee -a $tempWork/mount-all-from-host.sh #Otherwise if there is one, but no mount, add one... elif ! grep "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" $locBin/mount-all-from-host.sh then sudo sed -ie '$d' $locBin/mount-all-from-host.sh echo "sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | sudo tee -a $locBin/mount-all-from-host.sh echo "exit 0" | sudo tee -a $locBin/mount-all-from-host.sh elif ! grep "sudo /sbin/mount.vboxsf maven $mavenUsrLib" $locBin/mount-all-from-host.sh then sudo sed -ie '$d' $locBin/mount-all-from-host.sh echo "sudo /sbin/mount.vboxsf maven $mavenUsrLib" | sudo tee -a $locBin/mount-all-from-host.sh echo "exit 0" | sudo tee -a $locBin/mount-all-from-host.sh fi #Script for unmounting ALL VirtualBox shared folders... #If there isn't one create one... if [ ! -f $locBin/umount-all-from-host.sh ] then echo '#!/bin/bash' > $tempWork/umount-all-from-host.sh echo "sudo umount -a -t vboxsf" | sudo tee -a $tempWork/umount-all-from-host.sh echo "echo 'unmounted all VirtualBox shared folders'" | sudo tee -a $tempWork/umount-all-from-host.sh echo "exit 0" | sudo tee -a $tempWork/umount-all-from-host.sh fi sudo chmod +x $tempWork/* sudo mv -f $tempWork/*.sh $locBin/ rm -rf $tempWork fi sudo ln -f -s $mavenUsrLib/apache-maven-$mavenVersion/bin/* /usr/bin/ sudo rm -rf $tempWork sudo reboot exit 0 

这是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 

现在你已经安装了maven3

 nazar@lelyak-desktop ~ $ mvn -version Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T14:57:37+03:00) Maven home: /usr/share/maven3 Java version: 1.7.0_80, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-7-oracle/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.13.0-24-generic", arch: "amd64", family: "unix" 

链接到Launchpad

我升级但得到了一个classnotfound错误。 解决这个问题:

在花了一些时间尝试各种组合后,我发现这是因为我在我的环境变量中设置了M2_HOME和M3_HOME。一旦我从环境变量中删除了M2_HOME,我可以再次使用它。可能这可以节省一些严重的某人的时间。

从maven官方网站下载maven并提取。

将应用程序目录移动到/ usr / local

 sudo cp -R apache-maven-XXX /usr/local 

在/ usr / bin中建立一个软链接,以便对mvn进行通用访问

 sudo ln -s /usr/local/apache-maven-XXX/bin/mvn /usr/bin/mvn 

validationmvn安装

 mvn --version 

如果您对PPA( 个人包装档案)不满意,您无法保证其来源,这是另一种选择。

从安全角度来看,如果您不知道它来自哪里,请不要安装它。

在我的链接文章中,我从apache中检索最新文件,这是一个已知且可靠的来源。 你可以得到最新版本

 \ #identify最新版本的maven
    最新= $(curlhttp://www-us.apache.org/dist/maven/maven-3/ | tac | sed -ne's / [^ 0-9] * \(\([0-9] \。\)\ {0,3 \} [0-9] \)。* / \ 1 / p'| head -1)
 \#下载它
     wget http://www-us.apache.org/dist/maven/maven-3/$latest/binaries/apache-maven-$latest-bin.tar.gz

然后安装它

 \#解压缩它
     sudo tar -zxf apache-maven- $ latest-bin.tar.gz -C / usr / local /
 \#创建一个sym链接
     sudo ln -s / usr / local / apache-maven- $ latest / bin / mvn / usr / bin / mvn

如上面的链接和我的post所述

  • 堆栈溢出
  • askubuntu