ChatGPT解决这个技术问题 Extra ChatGPT

如何使用 Yum 安装 Maven?

我试图不了解太多关于 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 所需的任何内容的存储库的存储库文件。

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


j
jewelsea

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

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

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

之后的过程很简单

从要提取 maven 的目录中运行 wget 命令。运行以下命令提取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接下来将环境变量添加到您的 ~/.bashrc 文件中 export M2_HOME=/usr/local/apache-maven export M2=$M2_HOME/bin export PATH=$M2:$PATH 执行这些命令 source ~/.bashrc

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

    mvn -version

谢谢!我可以通过 jpackage 获得的最好的 maven 是 maven.noarchtbd,它是 v1.1maven2,它是 v2.0.4 ...您的替代说明对我使用 maven v3 有很大帮助:)
这些说明有效。但是为什么哦,为什么他们不能把 maven 和所有其他包一起放在包存储库中,这样人们就不必跳过这些圈子呢?
@aroth 可能是因为有些人认为 Maven 诅咒
只需将传递给 wget 的路径替换为从 maven.apache.org/download.cgi 获得的路径
@Ali Apache 是否提供了一种使用其域名而不是镜像域名的方法?
T
TTaaLL

您可以像这样将 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

并选择正确的版本。


in this forum 所述,下载的 .repo 文件中的 epel-$releasever 需要替换为 epel-6,否则 yum install apache-maven 将失败并出现错误 404。
即使用 epel-6 替换 epel-$releasever 也会失败,出现 404: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/i386/…: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
可以使用这种方法安装特定的(例如 3.0.1)版本吗?
我能够使用 /etc/yum.repos.d/epel-apache-maven.repo 存储库文件中的此条目使其正常工作:baseurl=https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/$basearch/
alternatives --config java
S
SergeyB

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

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

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


这听起来像它会完美地工作,除了收到此错误:repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/x86_64/…:[Errno 14] HTTPS 错误 404 - 未找到不知道 repo 是暂时关闭还是永久关闭。
@advocate 我刚刚创建了另一个服务器实例并按照描述运行了确切的命令,并且工作起来就像一个魅力。抱歉回复晚了,但看起来它仍然有效。干杯。
我猜@Kate 的意思是$releasever
这在没有步骤 2 的情况下对我有用,但它想要安装 jdk 1.7,即使我已经安装了 1.8
它安装 Java 7 并将其设置为默认值,因此它为我打破了进一步的过程:(
宏杰李
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

J
Johan Vergeer

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

$ sudo yum install maven

这些天来支持。


在 Amazon Linux 2(2019 年 3 月)上为我工作。
是的,但我在 Amazon Linux 2 上安装了 Java 11,然后 sudo yum install maven。它安装了 Java 8 并替换了我的 11 实例。有人没想到...
谢谢,这个答案应该排在首位
q
quickshiftin

我最近刚刚了解了一个名为 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 的文件,我们将把它作为 maven.sh 存储在新创建的 etc/profile.d 目录下,其中包含以下内容内容

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

下载并解压 opt 目录中的 latest 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

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


为了我的目的,我选择了 maven 3,但打包 maven v2 也很容易。
另一个注意事项,您必须注销/登录才能使用 /etc/profile.d/maven.sh 脚本。
很好的解决方案,谢谢。顺便提一句。您也可以输入 exec bash(假设您使用的是 bash)。
k
klaustopher

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

从 http://maven.apache.org/download.html 获取二进制文件并将其放入您的 /usr/bn

如果您使用的是 Eclipse,您可以获得 m2eclipse 插件 (http://m2eclipse.sonatype.org/),它捆绑了一个版本的 maven


是的,如果我找不到更好的方法,我将在接下来的 15 分钟内完成。我犹豫的原因是,如果 Yum 知道安装的所有内容,它实际上是一个很好的产品。否则,没有那么多。我确信 Maven 也是一个很好的产品,它可以做一些我不需要做的事情,让库版本保持最新。我倾向于将其用作构建系统的系统,它比 shell 脚本更胜一筹,大约是 1989 年左右的 Make 的三分之一。Grrr。
好吧,如果他们只在 jPackage 存储库中维护 maven2 到版本 2.0.7,那么您可以处理该版本,手动安装,或者您可以从 maven.apache.org 的源代码创建一个 RPM 并使用 yum 安装它.但是你已经说过你不想花更多的时间在这上面,所以我认为选项 1 最适合你的情况
问题是关于用 yum 安装它。
这两个答案都没有回答这个问题。真正的答案应该是一些可用的 yum 存储库,其中包含 maven3(最新的稳定版?)软件包。
/usr/bn 还是 /usr/bin/usr/local 等其他目录呢?
j
jgp

这就是我在 Amazon/AWS EMR v5 上所经历的。 (改编自之前的答案),拥有 Maven 和 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

选择Java8

sudo alternatives --config javac

选择Java8

现在,如果你运行:

mvn -version

你应该得到:

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"

u
user7610

自 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

[...]

一个愚蠢的问题是 maven 不是 maven 可执行文件,而是 mvn...
K
Kannan Ramamoorthy

不只是 mvn,对于任何实用程序,您都可以通过提供 yum whatprovides {command_name} 来了解自己