Saya menggunakan Ubuntu dan perlu meningkatkan ke Maven 3 dari Maven 2. Dapatkah seseorang tolong bantu saya menginstal Maven 3?
Saya menggunakan Ubuntu dan perlu meningkatkan ke Maven 3 dari Maven 2. Dapatkah seseorang tolong bantu saya menginstal Maven 3?
Jawaban:
Ada dua publikasi bermanfaat tentang topik khusus ini di sini:
PPA dengan Maven 3, dibangun oleh Nate Carlson:
Itu tidak ada dalam repositori, dan dari pengalaman saya solusi terbaik adalah dengan mengunduhnya dari apache.org , membukanya /home/youruser/maven
dan kemudian menambahkannya ke jalur Anda seperti dijelaskan di sini .
Hapus instalasi maven 2 Anda saat ini sebelum melakukan hal ini tentu saja.
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
Seluruh proses yang saya buat adalah sebagai berikut:
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
sudo apt-get update && sudo apt-get install maven3
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.
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.
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