Comment installer Maven 3?

33

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.

    
posée nickguletskii 19.06.2011 - 20:54
la source

8 réponses

25

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

    
réponse donnée fossfreedom 19.06.2011 - 21:05
la source
25

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

    
réponse donnée realgt 10.01.2012 - 14:42
la source
4

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.

    
réponse donnée Semo 17.03.2015 - 09:36
la source
2

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
    
réponse donnée thejartender 08.12.2011 - 15:29
la source
2

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"

Lien vers le tableau de bord

    
réponse donnée nazar_art 05.12.2015 - 21:17
la source
1

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.

    
réponse donnée RobAu 11.01.2013 - 11:33
la source
0

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
    
réponse donnée Thirumal 15.03.2016 - 18:33
la source
0

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

réponse donnée TomRed 22.04.2017 - 13:55
la source

Lire d'autres questions sur les étiquettes