Yum과 함께 Maven을 어떻게 설치합니까?


135

나는 시도하고 하지 에 대해 하나 냠 또는 받는다는 많이 배울 수 있습니다. 이 코드를 물려 받아이 환경에서 필요한 것보다 더 많은 시간을 보내고 싶지 않습니다.

m있어 내 설치에는 "붙여 넣기"( "첨부 된 파일"? "알고있다"?)라는 두 개의 저장소가 있습니다. Amazon one과 JPackage는 표준입니다. (실제로, 각 리포지토리는 두 개의 하위 리포지토리로 구성되어 있지만 이것이 문제의 원인이라고 생각하지 않습니다.)

yum에게 maven2를 설치하라고 요청했을 때 maven2에 대해 들어 본 적이 없다고 거절했습니다.

yum에게 Amazon을 무시하고 maven2를 설치하라고 요청했을 때 그렇게했지만 상당히 오래된 Maven 2.0.9를 설치합니다. 내가 가지고있는 실제 pom.xml에는 더 높은 버전이 필요합니다.

Google for Maven 리포지토리를 사용하면 Mam이 Maven을 설치하는 데 사용할 수있는 리포지토리가 아니라 Maven이 다른 것을 구축하는 데 사용할 수있는 리포지토리를 얻습니다. (Maven이 Yum을 만들게하는 것을 포함하는 저장소를 찾았습니다.이 시점에서 Google이 나를 조롱한다고 생각합니다.)

따라서 필요한 것은 Maven 2.2.1을 설치하는 데 필요한 모든 것을 포함하는 저장소를 가리키는 저장소 파일 입니다.

이 모든 노동 절약 장치가 아니었다면 아마도 몇 가지 작업을 수행 할 수 있습니다.

답변:


215

이카루스는 나에게 매우 비슷한 질문에 답했다. "yum"을 사용하지는 않지만 여전히 목적에 맞게 작동해야합니다. 시험,

wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz

기본적으로 그냥 maven 사이트 로 이동 하십시오 . 원하는 maven 버전을 찾으십시오. 파일 유형이며 위의 wget 문에 미러를 사용하십시오.

그 후 과정은 쉽다

  1. maven을 추출하려는 디렉토리에서 wget 명령을 실행하십시오.
  2. 다음을 실행하여 타르를 추출하십시오.

    tar xvf apache-maven-3.0.5-bin.tar.gz
  3. maven을 / usr / local / apache-maven으로 이동

    mv apache-maven-3.0.5  /usr/local/apache-maven
  4. 그런 다음 ~ / .bashrc 파일에 env 변수를 추가하십시오.

    export M2_HOME=/usr/local/apache-maven
    export M2=$M2_HOME/bin 
    export PATH=$M2:$PATH
  5. 이 명령을 실행

    소스 ~ / .bashrc

6 :. 다음 명령으로 모든 것이 작동하는지 확인하십시오

    mvn -version

1
감사! 최고의 내가 통해 얻을 수 받는다는 jpackage했다 maven.noarchtbd이었다 v1.1또는 maven2이었다 v2.0.4... 대체 지침을 얻기 위해 많은 도움이 나에게 받는다는 V3 :
pulkitsinghal

53
이 지침은 효과가 있습니다. 그러나 왜 사람들은 다른 모든 패키지와 함께 패키지 저장소에 maven을 넣을 수 없어 사람들이 이러한 농구대를 뛰어 넘을 필요가 없습니다.
aroth

3
@aroth 아마 Maven anathema를 고려하는 사람들이 있기 때문에
Joseph Lust


@Ali Apache는 미러 도메인 이름 대신 도메인 이름을 사용하는 방법을 제공합니까?
blong

115

다음과 같이 yum 라이브러리에 maven을 추가 할 수 있습니다.

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

이제 다음 과 같이 maven 설치할 수 있습니다 .

yum install apache-maven

완료되면 maven 3이 설치되고 mvn -version가지고있는 버전을 보여줍니다-3.2.1이 있습니다.

이것은 한 가지 예외를 제외하고 CentOS 6에서 완벽하게 작동했습니다. JDK 8을 수동으로 설치했지만 OpenJDK 1.6을 설치하고 기본 Java 버전으로 만들었습니다 ( 수동으로 설치 했기 때문일 수 있음 ). 다시 변경하려면 다음을 사용하십시오 alternatives.

alternatives --config java
alternatives --config javac

올바른 버전을 선택하십시오.


8
바와 같이 이 포럼에서 , epel-$releasever다운로드의 .repo파일로 교체해야합니다 epel-6, 그렇지 않으면 yum install apache-maven에러 (404)와 함께 실패합니다
OR 매퍼

epel- $ releasever를 epel-6으로 바꾸어도 404로 실패합니다 : repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/i386/… : [Errno 14] PYCURL ERROR 22- "요청한 URL이 오류를 반환했습니다 : 404 찾을 수 없음 "
lrkwz

1
이 방법으로 특정 버전 (예 : 3.0.1)을 설치할 수 있습니까?
bsferreira

/etc/yum.repos.d/epel-apache-maven.reporepo 파일 에서이 항목으로 제대로 작동 할 수있었습니다 .baseurl=https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/$basearch/
i_grok

alternatives --config java
vikingsteve

61

나중에 참조하고 간결하게 설명하기 위해 많은 설명을 원하지 않고 실행하고 최대한 빨리 작동시키는 게으른 사람들을 위해

1) sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

2) sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

삼) sudo yum install -y apache-maven

4) mvn --version

이 복사 및 붙여 넣기 세션을 즐기 셨기를 바랍니다.


그것은 완벽하게이 오류를받은 경우를 제외하고 일 것 같은이 소리 : repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/x86_64/... : [errno를 14] HTTPS (404) 오류 - 경우 모르겠 찾을 수 없음 repo가 ​​일시적으로 다운되었거나 영구적으로 다운되었습니다.
anon58192932

2
@ advocate 방금 다른 서버 인스턴스를 만들고 설명대로 정확한 명령을 실행하고 매력처럼 작동했습니다. 답장이 늦어서 죄송하지만 여전히 작동하는 것 같습니다. 건배.
Alejandro Pablo Tkachuk

왜 심볼을 하드 코딩 된 버전으로 대체 하시겠습니까?
Kate

1
@Kate가 의미하는 것 같아요 $releasever.
ᴠɪɴᴄᴇɴᴛ

3
이것은 2 단계없이 저에게 효과적이지만 이미 1.8이 설치되어 있어도 jdk 1.7이 아닙니다.
Adam

18
yum install -y yum-utils

yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo

yum-config-manager --enable epel-apache-maven

yum install -y apache-maven

JVM 개발자의 경우 필요한 모든 도구의 SDK 관리자입니다.

https://sdkman.io/

sdkman을 설치하십시오.

yum install -y zip unzip

curl -s "https://get.sdkman.io" | bash

source "$HOME/.sdkman/bin/sdkman-init.sh"

메이븐 설치 :

sdk install maven

12

최근 fpm 이라는 편리한 패키징 도구에 대해 배웠습니다 . 이 질문을 우연히 발견하면 시도해 볼 수 있다고 생각했습니다. @OrwellHindenberg의 답변을 읽은 후 fpm을 사용하여 maven을 RPM으로 쉽게 패키지 할 수 있습니다.

yum install -y gcc make rpm-build ruby-devel rubygems
gem install fpm

프로젝트 디렉토리를 생성하고 패키지의 디렉토리 구조를 레이아웃

mkdir maven-build
cd maven-build
mkdir -p etc/profile.d opt

설치할 파일을 만들면 /etc/profile.d/maven.sh새로 만든 etc / profile.d 디렉토리에 maven.sh로 다음 내용을 저장합니다.

export M3_HOME=/opt/apache-maven-3.1.0
export M3=$M3_HOME/bin
export PATH=$M3:$PATH

opt 디렉토리 에서 최신 maven 을 다운로드하여 압축을 풉니 다.

wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.tar.gz
tar -xzf apache-maven-3.1.0-bin.tar.gz -C opt

마지막으로 RPM을 빌드하십시오.

fpm -n maven-3.1.0 -s dir -t rpm etc opt

이제 rpm을 통해 maven을 설치할 수 있습니다

$ rpm -Uvh maven-3.1.0-1.0-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:maven-3.1.0            ########################################### [100%]

그리고 비올라

$ which mvn
/opt/apache-maven-3.1.0/bin/mvn

m 하지만 집에 더 가까이;)


필자는 목적을 위해 maven 3을 사용했지만 maven v2를 쉽게 패키지 할 수 있습니다.
quickshiftin

다른 참고 사항으로, /etc/profile.d/maven.sh 스크립트를 사용 하려면 로그 아웃 / 로그인해야합니다 .
quickshiftin

1
좋은 해결책입니다. 감사합니다. BTW. exec bashbash를 사용한다고 가정하여 입력 할 수도 있습니다 .
Adam Siemion

9

2018 년 Maven을 설치하는 방법을 찾고있는 사람들을 위해 :

$ sudo yum install maven

요즘 지원됩니다.


Amazon Linux 2 (2019 년 3 월)에서 작동합니다.
ccleve

4

yum으로 설치해야합니까? 다른 많은 가능성이 있습니다.

  • http://maven.apache.org/download.html 에서 바이너리를 가져 와서 / usr / bn에 넣으십시오.
  • Eclipse를 사용하는 경우 maven 버전을 번들로 제공하는 m2eclipse 플러그인 (http://m2eclipse.sonatype.org/)을 얻을 수 있습니다.

1
예, 더 나은 방법을 찾지 못하면 약 15 분 안에 그렇게 할 것입니다. 내가 주저하는 이유는 Yum이 설치된 모든 것을 알고 있다면 실제로 좋은 제품 이기 때문 입니다. 그렇지 않으면 그렇게 많지 않습니다. 필자는 Maven도 라이브러리 버전을 최신 상태로 유지하면서 필요하지 않은 작업을 수행 할 때 좋은 제품이라고 확신합니다. 필자가이 시스템을 빌드 시스템으로 사용하려는 경향이있다. 쉘 스크립트보다 약간 낫고 1989 년경 Make보다 3 분의 1 정도 좋다. Grrr.
Malvolio

jpackage 저장소에서 버전 2.0.7까지만 maven2를 유지 관리 한 경우 해당 버전을 처리하거나 직접 설치하거나 maven.apache.org의 소스에서 RPM을 작성하여 yum으로 설치할 수 있습니다. . 하지만 당신은 이미 당신은 내가 옵션 1은 상황에 가장 맞는 것 같아, 그래서 이것과 다음 필요한 더 많은 시간을 보내고 싶지 않아 언급
klaustopher

2
질문은 yum으로 설치하는 것에 관한 것입니다.
robermorales

7
이 두 가지 답변 모두 질문에 대답하지 않습니다. 실제 대답은 maven3 (최신 안정?) 패키지를 포함하는 사용 가능한 yum repo에 관한 것입니다.
James Mills

1
/usr/bn또는 /usr/bin? 다른 디렉토리는 /usr/local어떻습니까?
Abdull

3

Maven은 2014 년 중반부터 Fedora 용으로 패키지되었으므로 이제는 매우 쉽습니다. 그냥 입력

sudo dnf install maven

이제 설치를 테스트하고 임의의 디렉토리에서 maven을 실행하십시오.

mvn

예를 들어 목표를 지정하지 않았기 때문에 실패합니다. mvn package

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.102 s
[INFO] Finished at: 2017-11-14T13:45:00+01:00
[INFO] Final Memory: 8M/176M
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build

[...]

2
바보 같은 것은 maven이 maven실행 가능한 것이 아니라 오히려mvn ...
JackLeo

3

이것이 제가 Amazon / AWS EMR v5에서 겪은 것입니다. (이전 답변에서 적응) MavenJava8을 갖습니다 .

sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
sudo alternatives --config java

Java8을 선택하십시오

sudo alternatives --config javac

Java8을 선택하십시오

이제 다음을 실행하면

mvn -version

당신은 얻을 것이다 :

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.38.amzn1.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.47-56.37.amzn1.x86_64", arch: "amd64", family: “unix"

1
글을 게시 해 주셔서 감사합니다. 필요한 회사는 2012 년에 사업을 그만두었지만 일년에 두 번 정도 창업자와 음료를 마셨으므로 도움을 말씀 드리겠습니다. :-)
Malvolio

@ Malvolio-lol 및 죄송합니다 (아직도 내 솔루션을
공표

1
회사의 몰락은 결과였으며, 마케팅 문제와 기술 인프라 만 예상했을뿐 아니라 기술 직원으로서 상당한 자부심을 가지고 있다고 말했습니다.
Malvolio

1

뿐만 아니라 mvn모든 유틸리티에 대해 제공하여 자신을 찾을 수 있습니다.yum whatprovides {command_name}

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