Làm cách nào để cài đặt Maven 3?


27

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?


Di chuyển từ stackoverflow? Có thật không? 10k câu hỏi về SO với thẻ Maven và chỉ 9 câu hỏi về SU, nhưng câu hỏi Maven không thực sự về phát triển phần mềm?
Eric Wilson

Câu trả lời:


23

4
Lưu ý: bạn không cần gỡ cài đặt maven2 để có maven3 trên hệ thống của bạn. PPA maven3 cài đặt một nhị phân gọi là "mvn3"
Jay Taylor

9

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/mavenvà 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.


Làm cách nào để gỡ cài đặt maven 2

2
nếu bạn đã nhận được nó từ kho lưu trữ Ubuntu, thì hãy thực hiện gỡ cài đặt maven2 '
ilcavero

7
Không có lý do để gỡ cài đặt.
bmargulies

5
apt-get remove của nó, không phải gỡ cài đặt apt-get, tôi tin rằng
Journeyman Geek

1
Trang tải xuống tốt nhất để tham khảo là maven.apache.org/doad.html , vì nó luôn giữ phiên bản mới nhất
Brett Porter

3

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

Hướng dẫn cài đặt:

Toàn bộ quá trình tôi nghĩ ra như sau:

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

  3. sudo apt-get update && sudo apt-get cài đặt maven3

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

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.

Cài đặt tự động:

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.


3
Chào mừng bạn đến với Siêu người dùng! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
slhck

thanx cho câu trả lời. Nó hoạt động với tôi vào ngày 13.04
ubfox

0

Hãy thử tập lệnh sau mà tôi đã viết nhằm mục đích phổ cập đến Linux 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.