Tôi đang sử dụng Ubuntu và cần nâng cấp lên Maven 3 từ Maven 2. Ai đó có thể giúp tôi cài đặt Maven 3 không?
Tôi đang sử dụng Ubuntu và cần nâng cấp lên Maven 3 từ Maven 2. Ai đó có thể giúp tôi cài đặt Maven 3 không?
Câu trả lời:
Có hai ấn phẩm hữu ích về chủ đề cụ thể này ở đây:
Cài đặt Maven 3 trên Ubuntu 10.04 LTS Server «Thử nghiệm và khủng bố
cài đặt maven 3 từ một cuộc tranh luận nhị phân trên ubfox «Discursive
PPA với Maven 3, được xây dựng bởi Nate Carlson:
Nó không có trong kho, và theo kinh nghiệm của tôi, giải pháp tốt nhất là tải nó từ apache.org , gỡ nó ra /home/youruser/maven
và sau đó thêm nó vào đường dẫn của bạn như được giải thích ở đây .
Gỡ cài đặt maven 2 hiện tại của bạn trước khi làm điều này tất nhiên.
Tôi bắt đầu thiết lập Ubuntu 12.10 cho dự án mà tôi đang thực hiện. Maven 3 được yêu cầu thiết lập hệ thống và vì hóa ra hầu hết các tài liệu ngoài kia đều đề cập đến cách cài đặt Maven lên Ubuntu phiên bản 12.04 trở về trước.
Cài đặt thủ công rất hữu ích nếu bạn muốn tìm hiểu sâu hơn về nhân ub Ubuntu của mình liên quan đến apt-get và nơi nó tìm thấy danh sách các ứng dụng có sẵn để cài đặt trên Ubuntu. Nó cũng có thể có khả năng hữu ích cho các bản phát hành Ubuntu gần đây hơn như Ubuntu 13.04 , v.v. nếu bạn gặp phải vấn đề tương tự như tôi đã làm trước đó với Ubuntu 12.10. Tài liệu tốt nhất tôi tìm thấy là:
killecesapia.blogspot.com.au/2012/10/installing-maven-3-in-ubfox-1204.html
Toàn bộ quá trình tôi nghĩ ra như sau:
Thêm dòng sau vào tệp nguồn.list:
deb http://ppa.launchpad.net/natecarlson/maven3/ubfox chính xác
deb-src http://ppa.launchpad.net/natecarlson/maven3/ubfox chính xác
sudo apt-get update && sudo apt-get cài đặt maven3
Thận trọng 1: lệnh "sudo add-apt-repository ppa: natecarlson / maven3" không hoạt động trên Ubuntu của tôi và phải chạy "sudo add-apt-repository -rm ppa: natecarlson / maven3" để apt-get của tôi hoạt động lần nữa.
Thận trọng 2: nhờ David, bạn cần xóa liên kết tượng trưng hiện có của mình với các phiên bản trước của maven trước khi chạy bước 4.
sudo apt-get remove maven2
sudo apt-get update
sudo apt-get install maven
Một số thông tin cũng có sẵn ở đây cho cả hướng dẫn và cài đặt tự động.
Hãy thử tập lệnh sau mà tôi đã viết nhằm mục đích phổ cập đến Linux và phát hiện khả năng sử dụng VirtualBox có thể và cố gắng gắn kết các tệp có thể từ khách (miễn là chúng được thiết lập để chia sẻ):
#!/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