Maven'i Yum ile nasıl kurarım?


135

Ben çalışıyorum değil yaklaşık iki yum veya maven çok öğrenmek için. Ben bu kodu miras aldım ve ben bu ortamda zorunda daha fazla zaman harcamak istemiyorum.

Yum var. Benim kurulum "vardır" ("çok ekli"? "Bilir"?) İki depo: Amazon bir ve JPackage, anladım standart bir şeydir. (Aslında, bu depoların her biri iki alt depodan oluşur, ancak soruna neden olduğunu sanmıyorum.)

Ben maven2 yüklemek için yum istedi, maven2 hiç duymadım söyleyerek reddetti.

Yum'ı Amazon'u yok sayarak maven2'yi yüklemesini istediğimde , bunu yapar, ancak oldukça eski olan Maven 2.0.9'u yükler. Sahip olduğum gerçek pom.xml daha yüksek bir sürüm gerektiriyor.

Maven için Google depoları olduğumda, Maven'in Maven'i yüklemek için kullanabileceği depoları değil, başka şeyler oluşturmak için kullanabileceği depoları alıyorum. (Maven'in Yum oluşturmasına izin veren bir şey buldum. Sanırım Google bu noktada alay ediyor.)

Yani, tüm ihtiyacım olan Maven 2.2.1 yüklemek için ne gerekiyorsa içeren bir repo işaret repo dosyası .

Tüm bu emek tasarrufu sağlayan cihazlar olmasaydı, muhtemelen biraz iş yapabilirdim.

Yanıtlar:


215

Icarus benim için çok benzer bir soruyu yanıtladı. Onun "yum" kullanarak değil, ama yine de sizin amaçlarınız için çalışması gerekir. Deneyin,

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

temelde sadece maven sitesine gidin . İstediğiniz maven sürümünü bulun. Dosya türü ve yukarıdaki wget ifadesi için aynayı kullanın.

Daha sonra süreç kolaydır

  1. Maven ayıklamak istediğiniz dizinden wget komutunu çalıştırın.
  2. katranı çıkarmak için aşağıdakileri çalıştırın,

    tar xvf apache-maven-3.0.5-bin.tar.gz
  3. maven dosyasını / usr / local / apache-maven klasörüne taşıyın

    mv apache-maven-3.0.5  /usr/local/apache-maven
  4. Sonra env değişkenlerini ~ / .bashrc dosyanıza ekleyin

    export M2_HOME=/usr/local/apache-maven
    export M2=$M2_HOME/bin 
    export PATH=$M2:$PATH
  5. Bu komutları yürütün

    kaynak ~ / .bashrc

6 :. Her şeyin aşağıdaki komutla çalıştığını doğrulayın

    mvn -version

1
Teşekkürler! En iyi ben üzerinden alabilir maven jpackageoldu maven.noarchtbdhangi v1.1veya maven2hangi v2.0.4... alternatif talimatlar almak için çok yardımcı beni için maven v3 :)
pulkitsinghal

53
Bu talimatlar işe yarar. Ama neden insanlar neden bu çemberlerden atlamak zorunda kalmamak için diğer tüm paketlerle birlikte maven'i paket deposuna koyamıyorlar?
aroth

3
@aroth muhtemelen Maven anatemini düşünenler olduğu için
Joseph Lust

1
geçtiğiniz yolu maven.apache.org/download.cgi adresindenwget aldığınız yolla değiştirin
Ali

@Ali Apache yansılar etki alanı adı yerine etki alanı adını kullanmanın bir yolunu sunuyor mu?
blong

115

Bu gibi yum kitaplıklarına maven ekleyebilirsiniz:

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

Şimdi maven'i şu şekilde yükleyebilirsiniz:

yum install apache-maven

Bir kez bittiğinde, maven 3 yüklenecek ve mvn -versionhangi sürüme sahip olduğunuzu gösterecektir - 3.2.1'e sahiptim.

Bu benim için CentOS 6'da bir istisna dışında mükemmel çalıştı. O (muhtemelen zaten kendim JDK 8 yüklü ediyorum rağmen OpenJDK 1.6 yüklü ve bunu varsayılan Java versiyonu yapılmış çünkü ben elle monte ediyorum). Geri değiştirmek için şunu kullanın alternatives:

alternatives --config java
alternatives --config javac

ve doğru sürümü seçin.


8
Açıklandığı gibi bu forumun , epel-$releaseverindirilen içinde .repodosyayla değiştirilmesi gerekmektedir epel-6, aksi takdirde yum install apache-mavenhata 404. başarısız olur
VEYA Mapper

Epel- $ releasever'ın epel-6 ile değiştirilmesi bile 404 ile başarısız oluyor: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/i386/… : [Errno 14] PYCURL ERROR 22 - "İstenen URL hata verdi : 404 Bulunamadı "
lrkwz

1
Bu yaklaşımla belirli (ör. 3.0.1) bir sürüm kurmak mümkün mü?
bsferreira

/etc/yum.repos.d/epel-apache-maven.repoRepo dosyasında bu giriş ile iyi baseurl=https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/$basearch/
çalışabildim

alternatives --config java
vikingsteve

61

Gelecekte referans olması ve basit olması için, çok fazla açıklama istemeyen, sadece bir şeyler yürüten ve en kısa zamanda çalışmasını sağlayan tembel insanlar için:

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

3) sudo yum install -y apache-maven

4) mvn --version

Umarım bu kopyala ve yapıştır oturumunu beğenmişsinizdir.


Bu, bu hatayı almak dışında mükemmel bir şekilde çalışacak gibi görünüyordu: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/x86_64/… : [Errno 14] HTTPS Hatası 404 - Bulunamadı repo geçici olarak kapalı veya kalıcı olarak kapalı.
anon58192932

2
@advocate Başka bir sunucu örneği oluşturdum ve tam komutları açıklandığı gibi çalıştırdım ve cazibe gibi çalıştım. geç cevap için üzgünüm, ama hala çalışıyor gibi görünüyor. şerefe.
Alejandro Pablo Tkachuk

sembolü neden sabit kodlu bir sürümle değiştiresiniz?
Kate

1
Sanırım @Kate demek $releasever.
ᴠɪɴᴄᴇɴᴛ

3
Bu adım 2 olmadan benim için çalıştı, ama zaten yüklü 1.8 olmasına rağmen jdk 1.7 isntall istiyor
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 geliştiricisi için, ihtiyacınız olan tüm araç için bir SDK yöneticisidir.

https://sdkman.io/

Sdkman yükleyin:

yum install -y zip unzip

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

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

Maven'i yükleyin:

sdk install maven

12

Kısa bir süre önce fpm adlı kullanışlı bir paketleme aracını öğrendim . Bu soruyu tökezleyerek denememi düşündüm. @ OrwellHindenberg'in cevabını okuduktan sonra, maven'i fpm ile bir RPM'ye paketlemek kolaydır.

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

bir proje dizini oluşturun ve paketin dizin yapısını düzenleyin

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

yükleyeceğimiz bir dosya oluşturun /etc/profile.d/maven.sh, bunu yeni oluşturulan etc / profile.d dizininde maven.sh olarak aşağıdaki içeriklerle birlikte depolayacağız

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

indirme ve paketten son maven içinde opt dizininin

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

nihayet, RPM oluşturun

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

Şimdi maven'i rpm üzerinden kurabilirsiniz

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

ve viyola

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

oldukça yum değil ama eve daha yakın;)


Amaçlarım için maven 3 ile gittim, ancak maven v2'yi paketlemek kadar kolay.
quickshiftin

Bir not daha, /etc/profile.d/maven.sh betiğinin alması için oturumu kapatmanız / oturum açmanız gerekir.
quickshiftin

1
Güzel çözüm, teşekkürler. BTW. Ayrıca yazabilirsiniz exec bash(bash kullandığınızı varsayarak).
Adam Siemion

9

2018'de Maven'i kurmanın bir yolunu arayanlarınız için:

$ sudo yum install maven

bu günlerde destekleniyor.


Benim için Amazon Linux 2'de çalışıyor (Mart 2019).
ccleve

4

Yum ile kurmanız gerekiyor mu? Başka olasılıklar da var:


1
Evet, daha iyi bir yol bulamazsam, önümüzdeki 15 dakika içinde yapacağım. Tereddüt etmemin nedeni, yüklü olan her şeyi biliyorsa Yum'ın aslında iyi bir ürün olmasıdır . Aksi halde, çok fazla değil. Eminim Maven aynı zamanda iyi bir ürün, yapmam gereken bir şey yaparken kütüphane sürümlerini güncel tutuyor. Bunu bir inşa sistemi olarak kullanma eğiliminde olduğum sistem, bir kabuk betiğinden biraz daha iyi bir görev ve 1989 dolaylarında Make kadar üçte biri kadar iyi bir görev. Grrr.
Malvolio

Eğer javacka2 deposunda sadece maven2'yi 2.0.7 sürümüne kadar koruduysa, o sürümle ilgilenebilir, elle yükleyebilir veya maven.apache.org adresindeki kaynaklardan bir RPM oluşturabilir ve bunu yum ile yükleyebilirsiniz. . Ancak zaten bununla gerekli
olandan

2
Soru yum ile kurmakla ilgili.
robermorales

7
Bu cevapların her ikisi de soruyu cevaplamıyor. Gerçek cevap maven3 (en son kararlı?) Paketlerini içeren bazı yum repo hakkında olmalıdır.
James Mills

1
/usr/bnveya /usr/bin? Peki ya diğer dizinler /usr/local?
Abdull

3

Maven, 2014 ortasından beri Fedora için paketlendi, bu yüzden şimdi oldukça kolay. Sadece yaz

sudo dnf install maven

Şimdi yüklemeyi test edin, maven'i rastgele bir dizinde çalıştırın

mvn

Ve başarısız olacak, çünkü bir hedef belirtmediniz, örn. 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
aptalca bir mavenmvn
yaka

3

Amazon / AWS EMR v5'te yaşadığım şey bu. (Önceki cevaplardan uyarlanmıştır), Maven ve Java8'e sahip olmak .

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 seç

sudo alternatives --config javac

Java8 seç

Şimdi, eğer koşarsanız:

mvn -version

Şunları elde etmelisiniz:

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
Bunu gönderdiğin için teşekkürler. İhtiyacı olan şirket 2012 yılında işten çıktı, ancak yılda yaklaşık iki kez kurucularla içki içiyorum, bu yüzden yardımınızdan bahsedeceğim. :-)
Malvolio

@Malvolio - lol ve özür dilerim (yine de çözümümü oylayabilirsiniz :))
jgp

1
Şirketin çöküşü bir sonuçtu - ve bunu tek teknik çalışanı olarak - sadece pazarlama sorunlarından dolayı büyük bir gururla söylüyorum ve teknik altyapı da beklendiği gibi çalıştı.
Malvolio

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.