我正在尝试不了解有关 yum 或 Maven 的更多信息。我继承了这个代码,我不想在这个环境中花费更多的时间。
我有好吃的。我的安装“有”(“也附加了”?“知道”?)两个存储库:Amazon 和 JPackage,我认为这是一种标准。 (实际上,每个存储库都包含两个子存储库,但我不认为这会导致问题。)
当我要求yum安装maven2时,它拒绝了,说从未听说过maven2。
当我要求 yum 安装 maven2 忽略 Amazon 时,它会这样做,但它安装了 Maven 2.0.9,这是相当旧的。我实际的 pom.xml 需要更高的版本。
当我在 Google 上搜索 Maven 存储库时,我得到的是 Maven 可以用来构建其他东西的存储库,而不是 Yum 可以用来安装 Maven 的存储库。 (我确实找到了一个包含让 Maven 构建 Yum 的东西的存储库。我认为 Google 此时正在嘲笑我。)
所以,我需要的只是存储库file,它指向一个存储库,其中包含安装 Maven 2.2.1 所需的任何内容。
如果没有这些省力的设备,我可能可以完成一些工作。
伊卡洛斯为我回答了一个非常相似的问题。它不使用“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 语句的镜像。
之后的过程就很简单了
运行以下命令来提取 tar,
tar xvf apache-maven-3.0.5-bin.tar.gz
将maven移动到/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
执行这些命令
源~/.bashrc
6:。使用以下命令验证一切正常
mvn -version
您可以像这样将 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
并选择正确的版本。
为了将来的参考,也为了简单起见,对于懒惰的人来说,他们不需要太多解释,只想运行并使其尽快工作:
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
mvn --version
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 管理器,可提供您所需的所有工具。
安装sdkman:
yum install -y zip unzip
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
安装Maven:
sdk install maven
对于那些正在寻找 2018 年安装 Maven 方法的人:
$ sudo yum install maven
这些天已经支持了。
我最近刚刚了解到一个方便的打包工具,叫做fpm。偶然发现这个问题,我想我可以尝试一下。事实证明,在阅读了@OrwellHindenberg 的回答后,用 fpm 将 maven 打包成 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
下载并解压最新的maven到opt目录
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
不太yum,但离家更近;)
需要用yum安装吗?还有很多其他可能性:
这就是我在 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"
自 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
[...]
不仅仅是
mvn
,对于任何实用程序,您都可以通过给出yum whatprovides {command_name}
来找到自己