J'utilise Ubuntu et j'ai besoin de passer à Maven 3 depuis Maven 2. Quelqu'un peut-il m'aider à installer Maven 3?
J'utilise Ubuntu et j'ai besoin de passer à Maven 3 depuis Maven 2. Quelqu'un peut-il m'aider à installer Maven 3?
Réponses:
Il existe deux publications utiles sur ce sujet spécifique ici:
Installer Maven 3 sur le serveur Ubuntu 10.04 LTS «Trial and Terror
installer maven 3 à partir d'un deb binaire sur ubuntu «Discursive
PPA avec Maven 3, construit par Nate Carlson:
Ce n'est pas dans les dépôts, et d'après mon expérience, la meilleure solution est de le télécharger sur apache.org , de le décompresser /home/youruser/maven
puis de l'ajouter à votre chemin comme expliqué ici .
Désinstallez votre maven 2 actuel avant de le faire bien sûr.
J'ai commencé à configurer mon Ubuntu 12.10 pour le projet sur lequel je travaille. Maven 3 était nécessaire pour configurer le système et comme il s'avère que la plupart des documents font référence à la façon d'installer Maven sur Ubuntu version 12.04 ou antérieure.
L'installation manuelle est utile si vous souhaitez approfondir votre noyau ubuntu en ce qui concerne apt-get et où il trouve la liste des applications disponibles pour l'installation sur Ubuntu. Il peut également être potentiellement utile pour les versions plus récentes d'Ubuntu comme Ubuntu 13.04 , etc. si vous rencontrez le même problème que moi à l'époque avec Ubuntu 12.10. Le meilleur document que j'ai trouvé était:
killertilapia.blogspot.com.au/2012/10/installing-maven-3-in-ubuntu-1204.html
L'ensemble du processus que j'ai trouvé est le suivant:
Ajoutez la ligne suivante dans le fichier sources.list:
deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu precise main
deb-src http://ppa.launchpad.net/natecarlson/maven3/ubuntu precise main
sudo apt-get update && sudo apt-get install maven3
Attention 1: la commande "sudo add-apt-repository ppa: natecarlson / maven3" n'a pas fonctionné sur mon Ubuntu et a dû exécuter "sudo add-apt-repository -rm ppa: natecarlson / maven3" pour que mon apt-get fonctionne encore.
Attention 2: grâce à David, vous devez supprimer votre lien symbolique existant vers les versions précédentes de maven avant d'exécuter l'étape 4.
sudo apt-get remove maven2
sudo apt-get update
sudo apt-get install maven
Certaines informations sont également disponibles ici pour l'installation manuelle et automatique.
Essayez le script suivant que j'ai écrit dans le but d'être universel pour Linux et détecte l'utilisation possible de VirtualBox et tente de monter les fichiers possibles à partir de l'invité (à condition qu'ils soient configurés pour le partage):
#!/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