Reputation: 44376
I'm trying not to learn much about either yum or maven. I've inherited this code and I don't want to spend more time than I have to in this environment.
I've got yum. My installation "has" ("is attached too"? "knows about"?) two repos: the Amazon one and JPackage, which I understand is something of a standard. (Actually, each of those repositories consists of two sub-repositories, but I don't think that's causing the problem.)
When I asked yum to install maven2, it declined, saying it had never heard of maven2.
When I asked yum to install maven2 ignoring Amazon, it does so, but it installs Maven 2.0.9, which is fairly old. The actual pom.xml I have requires a higher version.
When I Google for Maven repositories I get repositories that Maven can use to build other things, not repositories that Yum can use to install Maven. (I did find a repository containing thing that let Maven build Yum. I think Google is mocking me at this point.)
So, all I need is the repo file that points to a repo that contains whatever I need to install Maven 2.2.1.
If it weren't for all these labor-saving devices, I could probably get some work done.
Upvotes: 153
Views: 262479
Reputation: 2256
For future reference and for simplicity sake for the lazy people out there that don't want much explanations but just run things and make it work asap:
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
mvn --version
Upvotes: 71
Reputation: 12158
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
for JVM developer, this is a SDK manager for all the tool you need.
Install sdkman:
yum install -y zip unzip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
Install Maven:
sdk install maven
Upvotes: 26
Reputation: 2091
This is what I went through on Amazon/AWS EMR v5. (Adapted from the previous answers), to have Maven and 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
pick Java8
sudo alternatives --config javac
pick Java8
Now, if you run:
mvn -version
You should get:
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"
Upvotes: 4
Reputation: 5568
For those of you that are looking for a way to install Maven in 2018:
$ sudo yum install maven
is supported these days.
Upvotes: 18
Reputation: 28751
Maven is packaged for Fedora since mid 2014, so it is now pretty easy. Just type
sudo dnf install maven
Now test the installation, just run maven in a random directory
mvn
And it will fail, because you did not specify a goal, e.g. 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
[...]
Upvotes: 3
Reputation: 4180
Not just mvn
, for any util, you can find out yourself by giving yum whatprovides {command_name}
Upvotes: 1
Reputation: 5078
Icarus answered a very similar question for me. Its not using "yum", but should still work for your purposes. Try,
wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
basically just go to the maven site. Find the version of maven you want. The file type and use the mirror for the wget statement above.
Afterwards the process is easy
run the following to extract the tar,
tar xvf apache-maven-3.0.5-bin.tar.gz
move maven to /usr/local/apache-maven
mv apache-maven-3.0.5 /usr/local/apache-maven
Next add the env variables to your ~/.bashrc file
export M2_HOME=/usr/local/apache-maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
Execute these commands
source ~/.bashrc
6:. Verify everything is working with the following command
mvn -version
Upvotes: 239
Reputation: 4591
You can add maven to the yum libraries like this:
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
Now you can install maven like this:
yum install apache-maven
Once done, maven 3 will be installed and mvn -version
will show you which version you've got - I had 3.2.1.
This worked perfectly for me on CentOS 6 with one exception. It installed OpenJDK 1.6 and made it the default Java version, even though I'd already manually installed JDK 8 (possibly because I'd manually installed it). To change it back use alternatives
:
alternatives --config java
alternatives --config javac
and choose the correct version.
Upvotes: 124
Reputation: 69581
I've just learned of a handy packaging tool called fpm recently. Stumbling upon this question I thought I might give it a try. Turns out, after reading @OrwellHindenberg's answer, it's easy to package maven into an RPM with fpm.
yum install -y gcc make rpm-build ruby-devel rubygems
gem install fpm
create a project directory and layout the directory structure of the package
mkdir maven-build
cd maven-build
mkdir -p etc/profile.d opt
create a file that we'll install to /etc/profile.d/maven.sh
, we'll store this under the newly created etc/profile.d directory as maven.sh, with the following contents
export M3_HOME=/opt/apache-maven-3.1.0
export M3=$M3_HOME/bin
export PATH=$M3:$PATH
download and unpack the latest maven in the opt directory
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
finally, build the RPM
fpm -n maven-3.1.0 -s dir -t rpm etc opt
Now you can install maven through rpm
$ rpm -Uvh maven-3.1.0-1.0-1.x86_64.rpm
Preparing... ########################################### [100%]
1:maven-3.1.0 ########################################### [100%]
and viola
$ which mvn
/opt/apache-maven-3.1.0/bin/mvn
not quite yum but closer to home ;)
Upvotes: 12
Reputation: 6941
Do you need to install it with yum? There's plenty other possibilities:
Upvotes: 4