YumでMavenをインストールするにはどうすればよいですか?


135

私は、yumやmavenについてはあまり学習しないようにしています。私はこのコードを継承しており、この環境で必要以上に時間をかけたくありません。

私はヤムを持っています。私のインストールは「持っている」(「添付されている」?「知っている」?)2つのリポジトリ:AmazonのリポジトリとJPackageは、標準のようなものだと理解しています。(実際、これらのリポジトリはそれぞれ2つのサブリポジトリで構成されていますが、それが問題を引き起こしているとは思いません。)

yumにmaven2のインストールを依頼したところ、maven2を聞いたことがないと断られました。

Amazonを無視して maven2をインストールするようにyumに要求すると、それは可能ですが、かなり古いMaven 2.0.9がインストールされます。私が持っている実際のpom.xmlには、より高いバージョンが必要です。

MavenリポジトリをGoogleで検索すると、MavenをインストールするためにYumが使用できるリポジトリではなく、Mavenが他のものを構築するために使用できるリポジトリを取得します。(MavenでYumを構築できるものを含むリポジトリを見つけました。現時点では、Googleが私をあざけっているようです。)

したがって、必要なのは、Maven 2.2.1をインストールするために必要なものがすべて含まれているリポジトリを指すリポジトリファイルだけです

これらのすべての省力化デバイスに対応していなければ、おそらくいくつかの作業を完了することができます。

回答:


215

イカルスは私にとって非常によく似た質問に答えました。「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を抽出します。

    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

1
ありがとう!私が経由して得ることができる最高のmaven jpackagemaven.noarchtbdどちらだったv1.1か、maven2どちらでしたかv2.0.4...あなたの別の指示は、私をmaven v3に連れていくのに大いに役立ちました:)
pulkitsinghal

53
これらの指示は機能します。しかし、なぜああ、なぜ他のすべてのパッケージと一緒にmavenをパッケージリポジトリに入れて、人々がこれらのフープを飛び越える必要がないようにできないのでしょうか。
12

3
@arothおそらくMaven anathemaを検討している人がいるからでしょう
Joseph Lust

1
渡すパスをmaven.apache.org/download.cgiwgetから取得したパスに置き換えるだけ
Ali

@Ali Apacheはミラーのドメイン名ではなくドメイン名を使用する方法を提供していますか?
2014年

115

次のようにして、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を持っていました。

これは、1つの例外を除いて、CentOS 6で完全に機能しました。それは(おそらく私はすでに手動でJDK 8インストールしたいにもかかわらず、OpenJDKの1.6をインストールし、それをデフォルトのJavaのバージョンを作ったので、私はそれを手動でインストールしたいです)。元に戻すには、alternatives次を使用します。

alternatives --config java
alternatives --config javac

正しいバージョンを選択してください。


8
説明したように、このフォーラムではepel-$releaseverダウンロードして.repoファイルを交換する必要があるepel-6、または他のyum install apache-mavenエラー404で失敗します
ORマッパー

epel- $ releaseverをepel-6で置き換えても404で失敗します: repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/i386/…:[Errno 14] PYCURL ERROR 22-"要求されたURLはエラーを返しました:404が見つかりません」
lrkwz 2015年

1
このアプローチで特定の(たとえば3.0.1)バージョンをインストールすることは可能ですか?
bsferreira 2015

私はそれがこのエントリで正常に動作して取得することができた/etc/yum.repos.d/epel-apache-maven.repoレポファイル:baseurl=https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-6/$basearch/
i_grok

alternatives --config java
vikingsteve

61

将来の参考のため、そして説明を必要とせず、物事を実行してできるだけ早く動作させる怠惰な人々のための単純化のために:

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-見つかりませんリポジトリが一時的に停止しているか、完全に停止しています。
anon58192932

2
@advocate私は別のサーバーインスタンスを作成し、説明されているとおりの正確なコマンドを実行し、魅力のように機能しました。返信が遅れて申し訳ありませんが、まだ機能しているようです。乾杯。
アレハンドロパブロトカチュク2016

なぜシンボルをハードコードされたバージョンに置き換えるのですか?
ケイト

1
@Kateはを意味すると思い$releaseverます。
'2017

3
これはステップ2なしで私にとってはうまくいきましたが、すでに1.8がインストールされていても、jdk 1.7をインストールしたいと思っています
Adam

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

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

12

最近、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オプトインのディレクトリを

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をパッケージ化するのと同じくらい簡単です。
quickshiftin

その他の注意点として、/ etc / profile.d / maven.shスクリプトを実行するには、ログアウト/ログインする必要があります。
quickshiftin

1
素晴らしい解決策、ありがとう。ところで。入力もできexec bashます(bashを使用している場合)。
アダムSiemion 2013年

9

2018年にMavenをインストールする方法を探している方のために:

$ sudo yum install maven

最近サポートされています。


Amazon Linux 2(2019年3月)で動作します。
ccleve

4

yumでインストールする必要がありますか?他にもたくさんの可能性があります:

  • http://maven.apache.org/download.htmlからバイナリを取得しますし、/ usr / bnに配置します
  • Eclipseを使用している場合は、Mavenのバージョンをバンドルするm2eclipseプラグイン(http://m2eclipse.sonatype.org/)を入手できます。

1
ええ、私はより良い方法を理解できない場合は、次の15分でそれを行うつもりです。私が躊躇している理由は、インストールされているすべてのことを知っていれば、Yumは実際には優れた製品であることです。そうでなければ、それほどではありません。ライブラリーのバージョンを最新に保ち、Mavenも必要のないことをするのに優れた製品であると確信しています。私が使用する傾向のあるシステムは、ビルドシステムとして使用します。このタスクは、シェルスクリプトよりも少し優れており、1989年頃のMakeと比べて3分の1ほど優れています。
Malvolio

まあ、彼らがjPackageリポジトリでバージョン2.0.7までのmaven2のみを維持している場合は、そのバージョンを処理して手動でインストールするか、maven.apache.orgのソースからRPMを作成して、yumでインストールできます。 。しかし、これで必要以上の時間を費やしたくないとすでに述べたので、オプション1があなたの状況に最も適していると思います
klaustopher

2
質問は、yumでのインストールについてです。
robermorales

7
これらの答えはどちらも質問に答えません。本当の答えは、maven3(最新の安定版?)パッケージを含む利用可能ないくつかのyumリポジトリに関するものです。
James Mills

1
/usr/bnまたは/usr/bin?などの他のディレクトリは/usr/localどうですか?
Abdull

3

Mavenは2014年半ばから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

[...]

2
愚かな落とし穴は、Mavenのではないことであるmaven実行可能ではなく、mvn...
JackLeo

3

これは、Amazon / AWS EMR v5で体験したことです。(前の回答から変更)、MavenJava8を使用する

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"

1
それを投稿してくれてありがとう。それを必要としていた会社は2012年に廃業しましたが、私は創業者と年に2回ほど飲み物を飲んでいるので、私はあなたの助けに言及します。:-)
Malvolio 2018

@マルボリオ-笑と申し訳ありません(私の解決策に
賛成投票

1
会社の没落は結果であり、これは彼らの唯一の技術的な従業員として、マーケティングの問題のみの結果であり、技術インフラストラクチャは期待どおりに機能し、期待通りに機能したことを誇りに思います。
Malvolio 2018

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.