如何使用Yum安装Maven?

Mal*_*lio 130 maven-2 yum

我试图不了解 yum或maven.我继承了这段代码,我不想在这种环境中花费更多的时间.

我有百胜.我的安装"有"("也附加"?"知道"?)两个回购:亚马逊和JPackage,我理解这是一个标准.(实际上,每个存储库都包含两个子存储库,但我不认为这会导致问题.)

当我让yum安装maven2时,它拒绝了,说它从未听说过maven2.

当我要求yum安装maven2 忽略亚马逊时,它会这样做,但它会安装Maven 2.0.9,这是相当陈旧的.我的实际pom.xml需要更高版本.

当我使用Google for Maven存储库时,我会获得Maven可以用来构建其他东西的存储库,而不是Yum可以用来安装Maven的存储库.(我确实找到了一个包含让Maven构建Yum的东西的存储库.我认为谷歌此时正在嘲笑我.)

因此,我需要的是repo 文件,它指向包含我需要安装Maven 2.2.1的任何内容的repo.

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

Orw*_*erg 206

伊卡洛斯为我回答了一个非常类似的问题.它不使用"yum",但应该仍然适用于您的目的.尝试,

wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

基本上只是去maven网站.找到你想要的maven版本.文件类型并使用镜像作为上面的wget语句.

之后这个过程很简单

  1. 从你想要提取maven的目录运行wget命令.
  2. 运行以下命令来提取tar,

    tar xvf apache-maven-3.0.5-bin.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将maven移动到/ usr/local/apache-maven

    mv apache-maven-3.0.5  /usr/local/apache-maven
    
    Run Code Online (Sandbox Code Playgroud)
  4. 接下来将env变量添加到〜/ .bashrc文件中

    export M2_HOME=/usr/local/apache-maven
    export M2=$M2_HOME/bin 
    export PATH=$M2:$PATH
    
    Run Code Online (Sandbox Code Playgroud)
  5. 执行这些命令

    source~/.bashrc

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

    mvn -version
Run Code Online (Sandbox Code Playgroud)

  • 这些说明有效.但是为什么哦为什么他们不能只将maven放在包存储库中,包含所有其他包,以便人们不必跳过这些环节? (52认同)
  • @aroth可能是因为有些人认为Maven是诅咒 (3认同)

Phi*_*hil 111

您可以将maven添加到yum库,如下所示:

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
Run Code Online (Sandbox Code Playgroud)

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

yum install apache-maven
Run Code Online (Sandbox Code Playgroud)

完成后,将安装maven 3并mvn -version显示您已获得的版本 - 我有3.2.1.

这在CentOS 6上完美适用于我,但有一个例外.它安装了OpenJDK 1.6并使其成为默认的Java版本,即使我已经手动安装了JDK 8(可能是因为我手动安装了它).要改回来使用alternatives:

alternatives --config java
alternatives --config javac
Run Code Online (Sandbox Code Playgroud)

并选择正确的版本.

  • 如[在此论坛](http://blog.gluster.org/2013/08/yum-install-maven-yes-you-can/)中所述,在下载的`.repo`文件中的`epel- $ releasever`需要用`epel-6`替换,否则`yum install apache-maven`将失败,错误404. (8认同)

Ale*_*huk 58

为了将来的参考和简单的缘故,那里的懒人不需要太多的解释但只是运行并使其尽快工作:

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

希望你喜欢这个复制和粘贴会话.

  • @advocate我刚刚创建了另一个服务器实例并运行了所描述的确切命令,并像魅力一样工作.对于迟到的回复感到抱歉,但看起来仍然有效.干杯. (2认同)
  • 这对我来说没有第2步,但它想要isntall jdk 1.7即使我已经安装了1.8 (2认同)

宏杰李*_*宏杰李 18

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
Run Code Online (Sandbox Code Playgroud)

对于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"
Run Code Online (Sandbox Code Playgroud)

安装Maven:

sdk install maven
Run Code Online (Sandbox Code Playgroud)


qui*_*tin 12

我刚刚学会了一种名为fpm的便捷包装工具.在这个问题上磕磕绊绊,我想我可以尝试一下.事实证明,在阅读@ OrwellHindenberg的回答之后,很容易将maven打包成具有fpm的RPM.

yum install -y gcc make rpm-build ruby-devel rubygems
gem install fpm
Run Code Online (Sandbox Code Playgroud)

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

mkdir maven-build
cd maven-build
mkdir -p etc/profile.d opt
Run Code Online (Sandbox Code Playgroud)

创建一个我们要安装的文件/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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

最后,建立RPM

fpm -n maven-3.1.0 -s dir -t rpm etc opt
Run Code Online (Sandbox Code Playgroud)

现在你可以通过rpm安装maven了

$ rpm -Uvh maven-3.1.0-1.0-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:maven-3.1.0            ########################################### [100%]
Run Code Online (Sandbox Code Playgroud)

和中提琴

$ which mvn
/opt/apache-maven-3.1.0/bin/mvn
Run Code Online (Sandbox Code Playgroud)

不是百胜,但离家更近;)


Joh*_*eer 7

对于正在寻找在2018年安装Maven的方式的那些人:

$ sudo yum install maven
Run Code Online (Sandbox Code Playgroud)

这些天得到支持。

  • 是的,但我在 Amazon Linux 2 上安装了 Java 11,然后 sudo yum install maven。它安装了 Java 8 并替换了我的 11 实例。有人没有想到...... (2认同)

kla*_*her 4

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

  • 从http://maven.apache.org/download.html获取二进制文件并将其放入 /usr/bn
  • 如果您使用 Eclipse,您可以获得 m2eclipse 插件 (http://m2eclipse.sonatype.org/),它捆绑了 Maven 版本

  • 这两个答案都没有回答问题。真正的答案应该是关于一些可用的 yum 存储库,其中包含 maven3(最新的稳定版?)软件包。 (7认同)
  • 是的,如果我找不到更好的方法,我将在大约 15 分钟内完成此操作。我犹豫的原因是 Yum 实际上是一个很好的产品*如果它知道安装的所有内容*。否则,不会那么多。我确信 Maven 也是一个很好的产品,可以做一些我不需要做的事情,使库版本保持最新。我倾向于使用它作为构建系统的系统,它比 shell 脚本稍微好一点,大约是 1989 年左右的 Make 的三分之一。 (2认同)
  • 问题是关于用 yum 安装它。 (2认同)