Bagaimana cara menginstal Maven 3?


27

Saya menggunakan Ubuntu dan perlu meningkatkan ke Maven 3 dari Maven 2. Dapatkah seseorang tolong bantu saya menginstal Maven 3?


Bermigrasi dari stackoverflow? Sangat? 10k pertanyaan pada SO dengan tag Maven, dan hanya 9 pada SU, tetapi pertanyaan Maven sebenarnya bukan tentang pengembangan perangkat lunak?
Eric Wilson

Jawaban:



9

Itu tidak ada dalam repositori, dan dari pengalaman saya solusi terbaik adalah dengan mengunduhnya dari apache.org , membukanya /home/youruser/mavendan kemudian menambahkannya ke jalur Anda seperti dijelaskan di sini .

Hapus instalasi maven 2 Anda saat ini sebelum melakukan hal ini tentu saja.


bagaimana cara menghapus maven 2

2
jika Anda mendapatkannya dari repositori ubuntu, maka lakukan 'sudo apt-get uninstall maven2'
ilcavero

7
Tidak ada alasan untuk menghapus.
bmargulies

5
apt-get remove, bukan apt-get uninstall, saya percaya
Journeyman Geek

1
Halaman unduhan terbaik untuk merujuk adalah maven.apache.org/download.html , karena selalu mempertahankan versi terbaru
Brett Porter

3

Saya mulai mengatur Ubuntu 12.10 untuk proyek yang sedang saya kerjakan. Maven 3 diminta untuk mengatur sistem dan ternyata sebagian besar dokumen di luar merujuk pada cara menginstal Maven ke Ubuntu versi 12.04 atau sebelumnya.

Instalasi manual berguna jika Anda ingin menggali lebih dalam ke kernel ubuntu Anda sehubungan dengan apt-get dan di mana ia menemukan daftar aplikasi yang tersedia untuk instalasi di Ubuntu. Ini juga dapat berpotensi berguna untuk rilis Ubuntu yang lebih baru seperti Ubuntu 13.04 , dll. Jika Anda menghadapi masalah yang sama seperti yang saya lakukan saat itu dengan Ubuntu 12.10. Dokumen terbaik yang saya temukan adalah:

killertilapia.blogspot.com.au/2012/10/installing-maven-3-in-ubuntu-1204.html

Instalasi manual:

Seluruh proses yang saya buat adalah sebagai berikut:

  1. sudo -H gedit /etc/apt/sources.list
  2. Tambahkan baris berikut file sources.list:

    deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu tepat utama

    deb-src http://ppa.launchpad.net/natecarlson/maven3/ubuntu tepat utama

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

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

Perhatian 1: perintah "sudo add-apt-repository ppa: natecarlson / maven3" tidak berfungsi di Ubuntu saya dan harus menjalankan "sudo add-apt-repository -rm ppa: natecarlson / maven3" untuk mendapatkan apt-get to work lagi.

Perhatian 2: terima kasih kepada David, Anda perlu menghapus tautan simbolis yang ada ke versi sebelumnya dari pakar sebelum menjalankan langkah 4.

Instalasi Otomatis:

sudo apt-get remove maven2
sudo apt-get update
sudo apt-get install maven

Beberapa informasi juga tersedia di sini untuk manual dan instalasi otomatis.


3
Selamat Datang di Pengguna Super! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
slhck

thanx untuk jawabannya. Ini bekerja dengan saya pada 13,04 ubuntu
mamdouh alramadan

0

Coba skrip berikut yang saya tulis dengan tujuan universal untuk Linux dan mendeteksi kemungkinan penggunaan VirtualBox dan upaya untuk me-mount file yang mungkin dari tamu (asalkan mereka diatur untuk dibagikan):

#!/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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.