20

I'm working on a Scientific Linux box and am trying to install Maven using the yum command. Scientific Linux for those of you who do not know is based off of Red Hat Linux Enterprise Edition 6.

I'd prefer to install Maven in a way that lent itself to easy updating, that is why I have shied away from simply going to the Apache Maven site and getting the files I need. Simply running yum with root privileges was not enough. I used yum search maven which returned "JPackage Utilities", which I tried to install only to get:

Package jpackage-utils-1.7.5-3.12.el6.noarch already installed and latest version

I was assuming that something like creating a new repo file something like /etc/yum.repos.d/maven.repo would do the trick. I found a site suggesting that I point my maven.repo file to the URL http://www.jpackage.org/jpackage50.repo, however this seems to be a fix for an older version of Linux as it did not solve my problem

As always thanks in advance for any help or suggestions!

wzzrd
  • 610
  • 4
  • 13
Jacob
  • 203
  • 1
  • 2
  • 5
  • This is very useful for those unaware that you must install "maven" even though *"mvn"* is the actual executable's name. Further, it seemed like maven2 and maven download different versions. All this is not choices we're used to in a world where each distro supports a single version with an "obvious" installer mirroring of the executable's name. – Vlueboy Jun 12 '11 at 05:35

4 Answers4

19

The distro agnostic generic repo is what you want. As root, add a couple of the jpackage-generic repos to yum (two snippets below). Then perform a yum update and finally yum install maven2.

cat > /etc/yum.repos.d/jpackage-generic-free.repo << EOF
[jpackage-generic-free]
name=JPackage generic free
baseurl=http://mirrors.dotsrc.org/jpackage/6.0/generic/free/
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF

cat > /etc/yum.repos.d/jpackage-generic-devel.repo << EOF
[jpackage-generic-devel]
name=JPackage Generic Developer
baseurl=http://mirrors.dotsrc.org/jpackage/6.0/generic/devel/
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF
Andy
  • 206
  • 3
  • 3
  • Tried this, and got a series of dependency issues, pasted here: http://pastebin.com/A6uguJuG. Are the repos out of date? – juell Feb 08 '12 at 14:01
  • I tried this as well and get the following dependency issue: http://codepad.org/4AdW0NwF – James Mills Dec 17 '12 at 02:04
9

I had all kinds of conflicts trying to use the JPackage repo with Scientific Linux 6.2, but I had much better luck with dchen's repo from the "Fedora People" unofficial repositories. The repo config I used is:

# Note: Replaced $releasever with 6Server since SL's "6.2" doesn't work

[epel-apache-maven]
name=maven from apache foundation.
baseurl=http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6Server/$basearch/
enabled=1
skip_if_unavailable=1
gpgcheck=0

[epel-apache-maven-source]
name=maven from apache foundation. - Source
baseurl=http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6Server/SRPMS
enabled=0
skip_if_unavailable=1
gpgcheck=0

The package itself is called apache-maven and installs maven 3.0.3.

David Moles
  • 48,006
  • 27
  • 136
  • 235
  • This works well, but for some reason installs maven into /usr/share/apache-maven/bin. I would have expected the binaries to end up in my $PATH. – Anthony Giorgio Apr 28 '14 at 15:46
  • who is `dchen`, and is that repo secure and under maintenance? – vbem Feb 07 '17 at 05:16
  • @vbem Chen is a [RedHat engineer](https://fedoraproject.org/wiki/User:Dchen), and the repo was [last updated](https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6Server/SRPMS/) in May 2016. I don't personally know how to assess the security of the repository, but you can read the fedorapeople.org [user guidance](https://fedoraproject.org/wiki/Infrastructure/fedorapeople.org) and make your own judgment. – David Moles Feb 07 '17 at 18:45
5

This is more updated way:

curl http://www.jpackage.org/jpackage50.repo > /etc/yum.repos.d/jpackage.repo
yum update
yum install maven2
Avi Zrachya
  • 151
  • 2
  • 6
4

Thanks Andy for his answer (on Jun 10, 2011). It gave me some hints. However, when I followed it, I got a lot of dependencies issues, including problems like these

ERROR with rpm_check_debug vs depsolve:
rpmlib(FileDigests) is needed by plexus-container-default-1.0-0.a9s1.2.jpp6.noarch
rpmlib(FileDigests) is needed by aspectj-1.5.4-1.jpp6.noarch
rpmlib(FileDigests) is needed by rhino-1.7-1.r2.8.jpp6.noarch
rpmlib(FileDigests) is needed by saxon9-dom-B.9.0.0.8-2.jpp6.noarch
rpmlib(FileDigests) is needed by easymock2-2.5.2-2.jpp6.noarch
rpmlib(FileDigests) is needed by saxon9-B.9.0.0.8-2.jpp6.noarch
rpmlib(FileDigests) is needed by saxon9-xpath-B.9.0.0.8-2.jpp6.noarch
rpmlib(FileDigests) is needed by xmlbeans-2.4.0-3.jpp6.noarch
rpmlib(FileDigests) is needed by jtidy-7.0-0.V04aug2000r7_dev.2.jpp6.noarch
rpmlib(FileDigests) is needed by lucene-2.4.1-5.jpp6.noarch
rpmlib(FileDigests) is needed by aqute-bndlib-0.0.363-1.jpp6.noarch

Finally I realized the JPackage website actually has good and updated instruction. So I following these two pages and could finally installed maven2 on my machine.

Jpackage.org: Installation

Jpackage.org: Using a Repository -- Yum

leeyuiwah
  • 6,562
  • 8
  • 41
  • 71