Maven 2 è nei repository, ma non Maven 3. Come posso installare correttamente Maven 3? Le guide che ho scoperto non funzionano davvero correttamente.
Sto usando Natty, ma sono sicuro che questo non cambierà nulla.
Maven 2 è nei repository, ma non Maven 3. Come posso installare correttamente Maven 3? Le guide che ho scoperto non funzionano davvero correttamente.
Sto usando Natty, ma sono sicuro che questo non cambierà nulla.
Risposte:
Maven3 è il valore predefinito in Ubuntu 12.04 (preciso)
Maven2 è l'ultimo dei repository per l'11.10.
I PPA per Maven3 sembrano piuttosto scarsi - eccone uno per Maverick - sebbene non sia l'ultima versione disponibile.
Il miglior consiglio è di rimanere con la versione stabile disponibile per la tua versione di distribuzione.
Tuttavia, se ti piace aggiornarti, è molto semplice scaricare il codice e installarti.
Scarica il file .tar.gz da qui e segui le istruzioni per l'installazione sulla stessa pagina web
Ecco un PPA maven3 che ha funzionato bene per me su Ubuntu 11.10 a 64 bit
sudo add-apt-repository ppa:natecarlson/maven3
sudo apt-get update && sudo apt-get install maven3
Se hai già installato maven2 dai repository canonici questo non lo sostituirà ma ti darà un binario mvn3.
Se preferisci avere il binario chiamato mvn invece di mvn3 puoi semplicemente fare quanto segue:
sudo ln -s /usr/bin/mvn3 /usr/bin/mvn
La domanda è vecchia, ma d'oro. Ho dovuto trovare una soluzione oggi. Eccoci qui. Non è necessario utilizzare un repository non sicuro , poiché maven3 è già incluso nel repository Ubuntu. Una soluzione su Ubuntu 14.04 LTS sarà simile a:
sudo apt-get install maven
sudo update-alternatives --config mvn
Con il 2 ° comando ti viene chiesto di impostare la versione utilizzata. È possibile distinguere le directory corrette selezionando il percorso in cui maven2 NON ne fa parte.
*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
Nel mio caso ho dovuto selezionare 1
Con il comando emesso mvn -v
è possibile verificare se l'impostazione ha avuto esito positivo e se è stata selezionata la versione corretta. Di seguito hai un esempio dei valori restituiti.
~$ 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"
Spero che questo ti aiuti un po '.
Ho creato un nuovo script che non dovrebbe solo installare Maven + aggiungerlo al cestino, ma lo raccoglie se stai usando Ubuntu come guest VirtualBox e quindi tenta di montare '.m2' e cartelle maven esistenti che potrebbero / potrebbero non contenere esistenti impostazioni.
Maven rimane lo stesso se funziona su Windows o Unix, quindi puoi usare lo stesso Maven tra entrambi è questa è la configurazione di VirtualBox ...
PS. Nota la generazione di script che possono montare / smontare cartelle condivise da / 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
Ecco maven3 PPA che può risolvere questo problema.
Segui l'installazione:
sudo apt-get purge maven maven2 maven3
sudo add-apt-repository ppa:andrei-pozolotin/maven3
sudo apt-get update && sudo apt-get install maven3
E ora hai installato maven3 :
nazar@lelyak-desktop ~ $ 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"
Ho eseguito l'aggiornamento ma ho riscontrato un errore di classe non trovato. Per risolvere questo problema:
Dopo aver trascorso un po 'di tempo a provare varie combinazioni, ho scoperto che ciò è dovuto al fatto che ho impostato sia M2_HOME che M3_HOME nelle variabili di ambiente. Una volta rimosso M2_HOME dalle variabili di ambiente, ho potuto ripristinare il funzionamento. tempo per qualcuno.
Scarica maven dal sito ufficiale di maven ed estrailo.
Spostare la directory dell'applicazione in / usr / local
sudo cp -R apache-maven-X.X.X /usr/local
Crea un soft link in / usr / bin per l'accesso universale a mvn
sudo ln -s /usr/local/apache-maven-X.X.X/bin/mvn /usr/bin/mvn
Verifica l'installazione di mvn
mvn --version
Se non ti senti a tuo agio con un PPA ( archivio di pacchetti personali ) in cui non hai la certezza della provenienza, questa è un'alternativa.
Dal punto di vista della sicurezza, se non sai da dove proviene, non installarlo.
Nel mio articolo collegato recupero l'ultimo file da apache che è una fonte nota e attendibile. Puoi ottenere l'ultima versione
\ #identifica l'ultima versione di maven latest = $ (curl http://www-us.apache.org/dist/maven/maven-3/ | tac | sed -ne 's / [^ 0-9] * \ (\ ([0-9] \. \) \ {0,3 \} [0-9] \). * / \ 1 / p '| testa -1) \#scaricalo wget http://www-us.apache.org/dist/maven/maven-3/$latest/binaries/apache-maven-$latest-bin.tar.gz
quindi installarlo da
\ #Spacchettalo sudo tar -zxf apache-maven- $ latest-bin.tar.gz -C / usr / local / \ #crea un collegamento sym ad esso sudo ln -s / usr / local / apache-maven- $ latest / bin / mvn / usr / bin / mvn
come indicato nel link sopra e il mio post su