Wie installiere ich Maven 3?


27

Ich benutze Ubuntu und muss von Maven 2 auf Maven 3 upgraden. Kann mir jemand helfen, Maven 3 zu installieren?


Vom Stackoverflow migriert? "Ja wirklich?" 10k Fragen zu SO mit Maven-Tag und nur 9 zu SU, aber bei Maven-Fragen geht es nicht wirklich um Software-Entwicklung?
Eric Wilson

Antworten:


23

4
NB: Sie müssen maven2 nicht deinstallieren, um maven3 auf Ihrem System zu haben. Der maven3 PPA installiert eine Binärdatei mit dem Namen "mvn3"
Jay Taylor

9

Es befindet sich nicht in den Repositories, und meiner Erfahrung nach ist es die beste Lösung, es von apache.org herunterzuladen , zu entpacken /home/youruser/mavenund dann Ihrem Pfad hinzuzufügen, wie hier erläutert .

Deinstallieren Sie Ihren aktuellen Maven 2, bevor Sie dies tun.


Wie deinstalliere ich Maven 2

2
Wenn Sie es aus dem Ubuntu-Repository erhalten haben, tun Sie 'sudo apt-get uninstall maven2'
ilcavero

7
Kein Grund zur Deinstallation.
bmargulies

5
Ich glaube, es ist apt-get remove, nicht apt-get uninstall
Journeyman Geek

1
Die beste Download-Seite, auf die verwiesen wird , ist maven.apache.org/download.html , da immer die neueste Version beibehalten wird
Brett Porter,

3

Ich habe angefangen, mein Ubuntu 12.10 für das Projekt einzurichten, an dem ich arbeite. Maven 3 war erforderlich, um das System einzurichten. Wie sich herausstellt, beziehen sich die meisten Dokumente darauf, wie Maven auf Ubuntu Version 12.04 oder früher installiert wird.

Die manuelle Installation ist nützlich, wenn Sie in Bezug auf apt-get einen tieferen Einblick in Ihren Ubuntu-Kernel erhalten möchten und die Liste der Anwendungen finden möchten, die für die Installation unter Ubuntu verfügbar sind. Es kann auch für neuere Versionen von Ubuntu wie Ubuntu 13.04 usw. nützlich sein , wenn Sie auf dasselbe Problem stoßen wie damals mit Ubuntu 12.10. Das beste Dokument, das ich gefunden habe, war:

killertilapia.blogspot.com.au/2012/10/installing-maven-3-in-ubuntu-1204.html

Manuelle Installation:

Der ganze Prozess, den ich mir ausgedacht habe, ist wie folgt:

  1. sudo -H gedit /etc/apt/sources.list
  2. Fügen Sie der Datei sources.list die folgende Zeile hinzu:

    deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu präzise main

    deb-src http://ppa.launchpad.net/natecarlson/maven3/ubuntu präzise main

  3. sudo apt-get update && sudo apt-get installiere maven3

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

Achtung 1: Der Befehl "sudo add-apt-repository ppa: natecarlson / maven3" funktionierte auf meinem Ubuntu nicht und musste "sudo add-apt-repository -rm ppa: natecarlson / maven3" ausführen, damit mein apt-get funktioniert nochmal.

Achtung 2: Dank David müssen Sie Ihre vorhandene symbolische Verknüpfung zu früheren Versionen von maven entfernen, bevor Sie Schritt 4 ausführen.

Automatische Installation:

sudo apt-get remove maven2
sudo apt-get update
sudo apt-get install maven

Einige Informationen sind auch hier sowohl für die manuelle und die automatische Installation.


3
Willkommen bei Super User! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Slhck

Danke für die Antwort. Es hat bei mir am 13.04. Ubuntu
mamdouh alramadan

0

Versuchen Sie das folgende Skript Ich ziele schrieb Linux universell zu sein und erkennen mögliche Verwendung von VirtualBox und Versuchen möglich , Dateien vom Gast zu montieren (vorausgesetzt , sie sind für die gemeinsame Nutzung einrichten):

#!/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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.