Ich benutze Ubuntu und muss von Maven 2 auf Maven 3 upgraden. Kann mir jemand helfen, Maven 3 zu installieren?
Ich benutze Ubuntu und muss von Maven 2 auf Maven 3 upgraden. Kann mir jemand helfen, Maven 3 zu installieren?
Antworten:
Zu diesem speziellen Thema gibt es hier zwei nützliche Veröffentlichungen:
Installation von Maven 3 auf Ubuntu 10.04 LTS Server «Test und Terror
Installation von Maven 3 von einem Binärdeb unter Ubuntu «Discursive
PPA mit Maven 3, gebaut von Nate Carlson:
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/maven
und dann Ihrem Pfad hinzuzufügen, wie hier erläutert .
Deinstallieren Sie Ihren aktuellen Maven 2, bevor Sie dies tun.
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
Der ganze Prozess, den ich mir ausgedacht habe, ist wie folgt:
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
sudo apt-get update && sudo apt-get installiere maven3
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.
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.
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