Maven 2 est dans les dépôts, mais pas Maven 3. Comment installer correctement Maven 3? Les guides que j'ai trouvés ne fonctionnent pas correctement.
J'utilise Natty, mais je suis sûr que cela ne changera rien.
Maven 2 est dans les dépôts, mais pas Maven 3. Comment installer correctement Maven 3? Les guides que j'ai trouvés ne fonctionnent pas correctement.
J'utilise Natty, mais je suis sûr que cela ne changera rien.
Maven3 est la valeur par défaut dans Ubuntu 12.04 (précise)
Maven2 est le dernier des référentiels pour 11.10.
Les PPA pour maven3 semblent plutôt rares - en voici une pour Maverick - mais pas la dernière version disponible.
Le meilleur conseil est de rester avec la version stable disponible pour votre version de distribution.
Cependant, si vous souhaitez vous tenir au courant, il est très simple de télécharger le code et de vous installer.
Téléchargez le fichier .tar.gz depuis ici et suivez les instructions d'installation sur la même page Web
Voici un PPA maven3 qui a bien fonctionné sur Ubuntu 11.10 64 bits
sudo add-apt-repository ppa:natecarlson/maven3
sudo apt-get update && sudo apt-get install maven3
Si vous avez déjà installé maven2 à partir de repos canoniques, cela ne le remplacera pas mais vous donnera un fichier binaire mvn3.
Si vous préférez avoir le binaire appelé mvn au lieu de mvn3, vous pouvez simplement faire ce qui suit:
sudo ln -s /usr/bin/mvn3 /usr/bin/mvn
Source
La question est ancienne, mais or. Je devais trouver une solution aujourd'hui. Et c'est parti. Il n'est pas nécessaire d'utiliser un référentiel non sécurisé, car maven3 est déjà inclus dans les référentiels Ubuntu. Une solution chez Ubuntu 14.04 LTS sera comme suit:
sudo apt-get install maven
sudo update-alternatives --config mvn
Avec la 2ème commande, vous êtes invité à définir la version utilisée. Vous pouvez distinguer les bons répertoires en sélectionnant le chemin où maven2 ne fait PAS partie de celui-ci.
*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
Dans mon cas, je devais sélectionner 1
Avec la commande émise mvn -v
, vous pouvez vérifier si le paramètre a réussi et si vous avez sélectionné la version correcte. Vous trouverez ci-dessous un exemple des valeurs renvoyées.
~$ 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"
J'espère que cela vous aidera un peu.
J'ai créé un nouveau script qui devrait non seulement installer Maven + mais l'ajouter à bin, mais qui reprendra si vous utilisez Ubuntu en tant qu'invité VirtualBox, puis tente de monter un dossier '.m2' et maven existant. ne contient pas de paramètres existants.
Maven reste le même s'il fonctionne sous Windows ou Unix, vous pouvez donc utiliser le même Maven entre les deux. Ceci est votre configuration VirtualBox ...
PS. Notez la génération de scripts pouvant monter / démonter des dossiers partagés à partir de / 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
Voici le PPA maven3 qui peut résoudre ce problème.
Suivez l'installation:
sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update && sudo apt-get install maven3
Et maintenant vous avez installé maven3 :
[email protected] ~ $ 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"
J'ai mis à jour mais j'ai eu une erreur de classe. Pour résoudre ce problème:
Après avoir passé du temps à essayer différentes combinaisons, je me suis rendu compte que je disposais à la fois de M2_HOME et de M3_HOME dans mes variables d'environnement. Une fois M2_HOME supprimé économiser du temps pour quelqu'un.
Téléchargez maven depuis le site officiel de maven et extrayez-le.
Déplacez le répertoire d'application vers / usr / local
sudo cp -R apache-maven-X.X.X /usr/local
Créez un lien vers / usr / bin pour l’accès universel de mvn
sudo ln -s /usr/local/apache-maven-X.X.X/bin/mvn /usr/bin/mvn
Verifify mvn installation
mvn --version
Si vous n'êtes pas à l’aise avec une archive PPA ( personnelle archive de paquet) où vous n’avez aucune assurance de la provenance, c’est une alternative.
Du point de vue de la sécurité, si vous ne savez pas d'où cela vient, ne l'installez pas.
Dans mon article lié, je récupère le dernier fichier d'Apache qui est une source connue et fiable. Vous pouvez obtenir la dernière version
\#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]\).*//p' | head -1) \#download it wget http://www-us.apache.org/dist/maven/maven-3/$latest/binaries/apache-maven-$latest-bin.tar.gz
puis installez-le à partir de
\#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
comme indiqué dans le lien ci-dessus et dans mon post sur
Lire d'autres questions sur les étiquettes software-installation maven-3