142

我试图不了解太多关于 yum 或 maven 的知识。我继承了这段代码,我不想在这个环境中花费更多的时间。

我有好吃的。我的安装“有”(“也附加了”?“知道”?)两个 repos:Amazon 和 JPackage,据我所知,这是一种标准。(实际上,这些存储库中的每一个都包含两个子存储库,但我认为这不会导致问题。)

当我要求yum安装maven2时,它拒绝了,说它从未听说过maven2。

当我让 yum忽略 Amazon安装 maven2时,它会这样做,但它会安装相当旧的 Maven 2.0.9。我拥有的实际 pom.xml 需要更高版本。

当我用谷歌搜索 Maven 存储库时,我得到了 Maven 可以用来构建其他东西的存储库,而不是 Yum 可以用来安装 Maven 的存储库。(我确实找到了一个存储库,其中包含让 Maven 构建 Yum 的东西。我认为 Google 在这一点上是在嘲笑我。)

所以,我所需要的只是指向包含安装 Maven 2.2.1 所需的任何内容的存储库的存储库文件。

如果不是所有这些省力的设备,我可能会完成一些工作。

4

10 回答 10

226

伊卡洛斯为我回答了一个非常相似的问题。它不使用“yum”,但仍应适用于您的目的。尝试,

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

基本上只是去maven网站。找到你想要的maven版本。上述 wget 语句的文件类型和使用镜像。

之后的过程很简单

  1. 从要提取 maven 的目录中运行 wget 命令。
  2. 运行以下命令提取焦油,

    tar xvf apache-maven-3.0.5-bin.tar.gz
    
  3. 将 maven 移动到 /usr/local/apache-maven

    mv apache-maven-3.0.5  /usr/local/apache-maven
    
  4. 接下来将环境变量添加到您的 ~/.bashrc 文件中

    export M2_HOME=/usr/local/apache-maven
    export M2=$M2_HOME/bin 
    export PATH=$M2:$PATH
    
  5. 执行这些命令

    源〜/ .bashrc

6:. 使用以下命令验证一切是否正常

    mvn -version
于 2012-08-22T17:39:46.850 回答
119

您可以像这样将 maven 添加到 yum 库中:

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

现在你可以像这样安装 maven:

yum install apache-maven

完成后,将安装 maven 3,并mvn -version显示您拥有的版本 - 我有 3.2.1。

这对我在 CentOS 6 上非常有效,但有一个例外。它安装了 OpenJDK 1.6 并使其成为默认的 Java 版本,即使我已经手动安装了 JDK 8(可能是因为我手动安装了它)。要将其改回使用alternatives

alternatives --config java
alternatives --config javac

并选择正确的版本。

于 2014-09-30T07:29:45.527 回答
66

为了将来的参考和简单起见,那些不想解释太多但只是运行并使其尽快工作的懒人:

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

希望您喜欢这个复制和粘贴课程。

于 2015-12-09T00:45:21.590 回答
22
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 开发人员,这是一个 SDK 管理器,可满足您所需的所有工具。

https://sdkman.io/

安装sdkman:

yum install -y zip unzip

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

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

安装 Maven:

sdk install maven
于 2017-10-21T00:58:37.773 回答
12

我最近才知道一个方便的打包工具,叫做fpm。偶然发现这个问题,我想我可以试一试。事实证明,在阅读了@OrwellHindenberg 的答案后,很容易将 maven 打包成带有 fpm 的 RPM。

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

创建项目目录并布局包的目录结构

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

创建一个我们将安装到的文件,我们/etc/profile.d/maven.sh将其存储在新创建的etc/profile.d目录下为maven.sh,内容如下

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

opt目录下下载并解压最新的 maven

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

最后,构建 RPM

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

现在可以通过rpm安装maven了

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

和中提琴

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

不太好吃,但离家更近;)

于 2013-09-14T03:25:13.847 回答
12

For those of you that are looking for a way to install Maven in 2018:

$ sudo yum install maven

is supported these days.

于 2018-05-07T11:50:36.483 回答
4

需要用yum安装吗?还有很多其他的可能性:

  • 从http://maven.apache.org/download.html获取二进制文件并将其放入您的 /usr/bn
  • 如果您使用的是 Eclipse,您可以获得 m2eclipse 插件 (http://m2eclipse.sonatype.org/),它捆绑了一个版本的 maven
于 2011-09-23T17:51:47.537 回答
4

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"
于 2018-07-23T18:27:04.530 回答
3

自 2014 年中期以来,Maven 已为 Fedora 打包,因此现在非常容易。只需键入

sudo dnf install maven

现在测试安装,在随机目录下运行maven

mvn

它会失败,因为您没有指定目标,例如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

[...]
于 2016-06-26T17:03:04.840 回答
1

不只是mvn,对于任何实用程序,您都可以通过给予yum whatprovides {command_name}

于 2017-07-20T12:39:21.000 回答