Maven 3을 어떻게 설치합니까?


27

Ubuntu를 사용하고 있으며 Maven 2에서 Maven 3으로 업그레이드해야합니다. 누군가 Maven 3을 설치하도록 도와 줄 수 있습니까?


stackoverflow에서 마이그레이션 하시겠습니까? 정말? Maven 태그를 사용하여 SO에 10k 질문, SU에 9 만 질문하지만 Maven 질문은 실제로 소프트웨어 개발에 관한 것이 아닙니까?
Eric Wilson

답변:


23

이 특정 주제에 대한 유용한 간행물이 여기에 있습니다.

네이트 칼슨 (Nate Carlson)이 만든 Maven 3을 사용한 PPA :

https://launchpad.net/~natecarlson/+archive/maven3


4
주의 : 시스템에 maven3을 설치하기 위해 maven2를 제거 할 필요는 없습니다. maven3 PPA는 "mvn3"이라는 바이너리를 설치합니다
Jay Taylor

9

그것은 저장소에 없으며 내 경험상 가장 좋은 해결책은 apache.org에서 다운로드하고 압축을 풀고 여기에 설명 된 것처럼/home/youruser/maven 경로에 추가하는 입니다.

물론이 작업을 수행하기 전에 현재 maven 2를 제거하십시오.


maven 2를 제거하는 방법

2
당신은 우분투 저장소에서 그것을 가지고 있다면, 'apt-get을 제거 maven2 sudo는'수행
ilcavero

7
제거 할 이유가 없습니다.
bmargulies 2016 년

5
apt-get 제거, apt-get 제거가 아님
Journeyman Geek

1
를 참조하는 가장 좋은 다운로드 페이지입니다 maven.apache.org/download.html 항상 최신 버전을 유지로서,
브렛 포터

3

작업중인 프로젝트에 대해 Ubuntu 12.10을 설정하기 시작했습니다. Maven 3은 시스템을 설정하는 데 필요했으며 대부분의 문서에서 Maven을 Ubuntu 버전 12.04 또는 이전 버전에 설치하는 방법을 언급하고 있습니다.

수동 설치는 apt-get과 관련하여 우분투 커널을 더 깊이 파고 우분투에 설치할 수있는 응용 프로그램 목록을 찾는 경우 유용합니다. Ubuntu 12.10에서 내가했던 것과 같은 문제가 발생하면 Ubuntu 13.04 와 같은 최신 Ubuntu 릴리스에 잠재적으로 유용 할 수 있습니다 . 내가 찾은 최고의 문서는 다음과 같습니다.

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

수동 설치 :

내가 생각해 낸 전체 과정은 다음과 같습니다.

  1. sudo -H gedit /etc/apt/sources.list
  2. 다음 행을 sources.list 파일에 추가하십시오.

    deb http://ppa.launchpad.net/natecarlson/maven3/ubuntu 정확한 주요

    deb-src http://ppa.launchpad.net/natecarlson/maven3/ubuntu 정확한 주요

  3. sudo apt-get 업데이트 및 sudo apt-get 설치 maven3

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

주의 1 : "sudo add-apt-repository ppa : natecarlson / maven3"명령이 우분투에서 작동하지 않고 "sudo add-apt-repository -rm ppa : natecarlson / maven3"을 실행하여 apt-get이 작동하도록해야했습니다 다시.

주의 2 : David 덕분에 4 단계를 실행하기 전에 기존 버전의 maven에 대한 기존 심볼릭 링크를 제거해야합니다.

자동 설치 :

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

수동 및 자동 설치에 대한 일부 정보도 여기 에서 사용할 수 있습니다 .


3
슈퍼 유저에 오신 것을 환영합니다! 이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직 합니다.
slhck

답변을 주셔서 감사합니다. 그것은 나와 함께 13.04 우분투에서 일했다
mamdouh alramadan

0

나는 리눅스 보편적 것을 목표로 쓴 다음 스크립트 시도 하고 게스트에서 가능한 파일을 마운트 버추얼 및 시도의 가능한 사용을 감지을 (그들이 공유 설정되어 제공)

#!/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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.