Sto provando non a imparare molto su yum o maven. Ho ereditato questo codice e non voglio passare più tempo di quanto devo in questo ambiente.
Ho yum. La mia installazione "ha" ("è allegato anche"? "Conosce"?) Due repository: quello di Amazon e JPackage, che capisco sia una sorta di standard. (In realtà, ciascuno di questi repository è costituito da due repository, ma non credo che ciò causi il problema.)
Quando ho chiesto a yum di installare maven2, è diminuito, dicendo che non aveva mai sentito parlare di maven2.
Quando ho chiesto a yum di installare maven2 ignorando Amazon, lo fa, ma installa Maven 2.0.9, che è abbastanza vecchio. L'attuale pom.xml che ho richiede una versione successiva.
Quando utilizzo i repository Google per Maven, ottengo i repository che Maven può utilizzare per creare altre cose, non i repository che Yum può utilizzare per installare Maven. (Ho trovato un repository contenente cose che hanno permesso a Maven di costruire Yum. Penso che Google mi stia prendendo in giro a questo punto.)
Quindi, tutto ciò di cui ho bisogno è il repository file che punta a un repository che contiene tutto ciò di cui ho bisogno per installare Maven 2.2.1.
Se non fosse per tutti questi dispositivi salvavita, probabilmente potrei fare un po 'di lavoro.
Icarus ha risposto a una domanda molto simile per me. Non usa "yum", ma dovrebbe comunque funzionare per i tuoi scopi. Provare,
wget http://mirror.olnevhost.net/pub/Apache/maven/maven-3/3.0.5/binaries/Apache-maven-3.0.5-bin.tar.gz
in pratica basta andare sul sito maven . Trova la versione di Maven che desideri. Il tipo di file e utilizzare il mirror per l'istruzione wget sopra.
Successivamente il processo è semplice
eseguire quanto segue per estrarre il tar,
tar xvf Apache-maven-3.0.5-bin.tar.gz
sposta maven in/usr/local/Apache-maven
mv Apache-maven-3.0.5 /usr/local/Apache-maven
Quindi aggiungi le variabili env al tuo file ~/.bashrc
export M2_HOME=/usr/local/Apache-maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
Esegui questi comandi
fonte ~/.bashrc
6 :. Verifica che tutto funzioni con il seguente comando
mvn -version
Puoi aggiungere Maven alle librerie di yum in questo modo:
wget http://repos.fedorapeople.org/repos/dchen/Apache-maven/epel-Apache-maven.repo -O /etc/yum.repos.d/epel-Apache-maven.repo
Ora can installa maven in questo modo:
yum install Apache-maven
Una volta fatto, verrà installato Maven 3 e mvn -version
ti mostrerà quale versione hai - avevo 3.2.1.
Questo ha funzionato perfettamente per me su CentOS 6 con un'eccezione. Ha installato OpenJDK 1.6 e lo ha reso la versione Java predefinita, anche se avevo già installato manualmente JDK 8 (probabilmente perché l'avevo installato manualmente). Per cambiarlo indietro usa alternatives
:
alternatives --config Java
alternatives --config javac
e scegli la versione corretta.
Per riferimento futuro e per amor di semplicità per le persone pigre là fuori che non vogliono molte spiegazioni ma semplicemente eseguono le cose e fanno funzionare al più presto:
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
Spero ti sia piaciuta questa sessione di copia e incolla.
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
per gli sviluppatori JVM, questo è un gestore SDK per tutti gli strumenti di cui hai bisogno.
Installa sdkman:
yum install -y Zip unzip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Installa Maven:
sdk install maven
Ho appena appreso di recente un utile strumento di packaging chiamato fpm . Inciampando su questa domanda, ho pensato di provarlo. Risulta, dopo aver letto la risposta di @OrwellHindenberg, è facile impacchettare Maven in un RPM con fpm.
yum install -y gcc make rpm-build Ruby-devel rubygems
gem install fpm
creare una directory di progetto e impaginare la struttura di directory del pacchetto
mkdir maven-build
cd maven-build
mkdir -p etc/profile.d opt
crea un file che installeremo in /etc/profile.d/maven.sh
, lo memorizzeremo nella directory appena creata etc/profile.d come maven.sh , con i seguenti contenuti
export M3_HOME=/opt/Apache-maven-3.1.0
export M3=$M3_HOME/bin
export PATH=$M3:$PATH
scaricare e decomprimere latest maven nella directory opt
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
infine, crea l'RPM
fpm -n maven-3.1.0 -s dir -t rpm etc opt
Ora puoi installare maven tramite rpm
$ rpm -Uvh maven-3.1.0-1.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:maven-3.1.0 ########################################### [100%]
e viola
$ which mvn
/opt/Apache-maven-3.1.0/bin/mvn
non del tutto yum ma più vicino a casa;)
Per quelli di voi che stanno cercando un modo per installare Maven nel 2018:
$ Sudo yum install maven
è supportato in questi giorni.
Devi installarlo con yum? Ci sono molte altre possibilità:
Maven è confezionato per Fedora dalla metà del 2014, quindi ora è abbastanza facile. Basta digitare
Sudo dnf install maven
Ora prova l'installazione, esegui maven in una directory casuale
mvn
E fallirà, perché non hai specificato un obiettivo, ad es. 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
[...]
Questo è quello che ho passato su Amazon/AWS EMR v5. (Adattato dalle risposte precedenti), per avere Maven e Java8.
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
scegli Java8
Sudo alternatives --config javac
scegli Java8
Ora, se corri:
mvn -version
Dovresti ricevere:
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"
Non solo mvn
, per qualsiasi utilità, puoi scoprirlo dando yum whatprovides {command_name}