如何将Maven安装到Red Hat Enterprise Linux 6中?

20

我正在使用一台Scientific Linux机器,尝试使用yum命令安装Maven。对于那些不知道的人来说,Scientific Linux是基于Red Hat Linux Enterprise Edition 6的。

我更喜欢以便于更新的方式安装Maven,这就是为什么我回避了去Apache Maven网站获取所需文件的简单方法。仅以root权限运行yum是不够的。我使用了yum search maven命令,返回了“JPackage Utilities”,我试图安装它,但却失败了:

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

我原以为创建一个名为 /etc/yum.repos.d/maven.repo 的新仓库文件就可以解决问题。但我发现有个网站建议我将 maven.repo 文件指向 URL http://www.jpackage.org/jpackage50.repo,但这似乎是解决旧版本 Linux 问题的方法,它并没有解决我的问题。

感谢您提前给予任何帮助或建议!


这对于那些不知道即使“mvn”是实际可执行文件的名称,也必须安装“maven”的人非常有用。此外,似乎maven2和maven下载不同的版本。在一个世界中,每个发行版都支持一个具有“明显”安装程序镜像的单个版本,所有这些都不是我们习惯的选择。 - Vlueboy
4个回答

19

您需要的是不依赖任何发行版的通用存储库。作为root用户,将几个jpackage-generic存储库添加到yum中(请见下面的两个代码片段)。然后执行yum update,最后执行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

尝试过了,但是出现了一系列的依赖问题,已经在这里粘贴:http://pastebin.com/A6uguJuG。仓库是否过时了? - juell
我也尝试了,但是出现了以下依赖问题:http://codepad.org/4AdW0NwF - James Mills

9

在尝试使用JPackage资源库与Scientific Linux 6.2时,我遇到了各种冲突,但是我在“Fedora People”非官方资源库中使用dchen的资源库时运气更好。我使用的资源库配置如下:

# 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

这个软件包的名称是 apache-maven ,可以安装 Maven 3.0.3。


这个很好用,但出于某种原因将Maven安装到了/usr/share/apache-maven/bin。我本来期望二进制文件会出现在我的$PATH中。 - Anthony Giorgio
谁是 dchen,那个仓库是否安全并且在维护中? - vbem
@vbem Chen是一名RedHat工程师,该仓库在2016年5月进行了最后更新。我个人不知道如何评估仓库的安全性,但您可以阅读fedorapeople.org的用户指南并做出自己的判断。 - David Moles

5
这是更更新的方法:
curl http://www.jpackage.org/jpackage50.repo > /etc/yum.repos.d/jpackage.repo
yum update
yum install maven2

这提供了Maven 2.0.7,但它已经非常过时了。 - Ted Dunning
yum install maven 安装最新的 Maven 版本。谢谢。 - Nawaf Alsulami

4

感谢Andy在2011年6月10日的回答,它给了我一些提示。但是,当我按照它的指示操作时,我遇到了很多依赖问题,包括以下问题:

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

最后我意识到JPackage网站提供了好的和更新的指导。因此,我按照这两个页面的步骤,终于在我的机器上安装了maven2。

Jpackage.org: 安装

Jpackage.org: 使用仓库--Yum


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接