Comment installer Maven 3?

27

J'utilise Ubuntu et j'ai besoin de passer à Maven 3 depuis Maven 2. Quelqu'un peut-il m'aider à installer Maven 3?

Ashish Agarwal
la source
Migré depuis stackoverflow? Vraiment? 10 000 questions sur SO avec la balise Maven, et seulement 9 sur SU, mais les questions Maven ne concernent pas vraiment le développement de logiciels?
Eric Wilson

Réponses:

9

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/mavenpuis de l'ajouter à votre chemin comme expliqué ici .

Désinstallez votre maven 2 actuel avant de le faire bien sûr.

ilcavero
la source
comment désinstaller maven 2
2
si vous l'avez obtenu du référentiel ubuntu, alors faites 'sudo apt-get uninstall maven2'
ilcavero
7
Aucune raison de désinstaller.
bmargulies
5
son apt-get supprimer, pas apt-get désinstaller, je crois
Journeyman Geek
1
La meilleure page de téléchargement à laquelle se référer est maven.apache.org/download.html , car elle conserve toujours la dernière version
Brett Porter
3

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

Installation manuelle:

L'ensemble du processus que j'ai trouvé est le suivant:

  1. sudo -H gedit /etc/apt/sources.list
  2. 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

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

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

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.

Installation automatique:

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.

AmirHd
la source
3
Bienvenue sur Super User! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
slhck
merci pour la réponse. Cela a fonctionné avec moi le 13.04 ubuntu
mamdouh alramadan
0

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
thejartender
la source