it-swarm.asia

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

Maven 2はリポジトリにありますが、Maven 3にはありません。Maven3を正しくインストールする方法を教えてください。私が見つけたガイドは実際には正しく動作しません。

私はNattyを使用していますが、これは何も変わらないと確信しています。

33
nickguletskii

Maven3はUbuntu 12.04(正確)のデフォルトです

Maven2は、11.10のリポジトリの最新版です。

Maven3のPPAはかなり不足しているように見えます。ここに maverick のPPAがあります-ただし、最新バージョンは入手できません。

最良のアドバイスは、ディストリビューションバージョンで使用可能な安定バージョンを使用することです。

ただし、最新の状態に保ちたい場合は、コードをダウンロードしてインストールするのが非常に簡単です。

here から.tar.gzファイルをダウンロードし、同じWebページのインストールガイダンスに従ってください

25
fossfreedom

64ビットUbuntu 11.10でうまく機能したmaven3 PPAを次に示します。

Sudo add-apt-repository ppa:natecarlson/maven3
Sudo apt-get update && Sudo apt-get install maven3

正規リポジトリからmaven2がすでにインストールされている場合、これは置き換えられませんが、mvn3バイナリを提供します。

Mvn3の代わりにmvnと呼ばれるバイナリを使用する場合は、単に次の操作を実行できます。

Sudo ln -s /usr/bin/mvn3 /usr/bin/mvn

ソース

25
realgt

問題は古いですが、金です。今日、解決策を見つけなければなりませんでした。さあ。 mavenはUbuntuリポジトリに既に含まれているため、安全でないリポジトリを使用する必要はありません。 Ubuntu 14.04 LTSのソリューションは次のようになります。

  • Sudo apt-get install maven
  • Sudo update-alternatives --config mvn

2番目のコマンドを使用すると、使用するバージョンを設定するように求められます。 maven2が含まれていないパスを選択することにより、正しいディレクトリを区別できます。

   *0    /usr/share/maven2/bin/mvn   200       Auto-Modus
    1    /usr/share/maven/bin/mvn    150       manueller Modus
    2    /usr/share/maven2/bin/mvn   200       manueller Modus

私の場合、1を選択する必要がありました

発行されたコマンドmvn -vを使用すると、設定が成功したかどうか、および正しいバージョンを選択したかどうかを確認できます。以下に戻り値の例を示します。

  ~$ mvn -version
  Apache Maven 3.0.5
  Maven home: /usr/share/maven
  Java version: 1.7.0_75, vendor: Oracle Corporation
  Java home: /usr/lib/jvm/Java-7-openjdk-AMD64/jre
  Default locale: de_DE, platform encoding: UTF-8
  OS name: "linux", version: "3.13.0-45-generic", Arch: "AMD64", family: "unix"

これが少しお役に立てば幸いです。

4
Semo

この問題を解決できるmaven3 PPAは次のとおりです。

インストールに従ってください:

Sudo apt-get purge maven maven2 maven3
Sudo add-apt-repository ppa:andrei-pozolotin/maven3
Sudo apt-get update && Sudo apt-get install maven3

そして今、あなたはインストールしましたmaven3

[email protected] ~ $ mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T14:57:37+03:00)
Maven home: /usr/share/maven3
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/Java-7-Oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-24-generic", Arch: "AMD64", family: "unix"

Launchpadへのリンク

2
nazar_art

Mavenをインストールするだけでなく、binに追加するだけでなく、UbuntuをVirtualBoxゲストとして使用し、既存の '.m2'および既存のまたは含まれていない可能性のあるmavenフォルダーをマウントしようとする場合にピックアップする新しいスクリプトを作成しました設定。

MavenがWindowsまたはUnixで実行される場合は同じままなので、両方で同じMavenを使用できます。これがVirtualBoxセットアップです...

PS。/usr/local/binから共有フォルダーをマウント/アンマウントできるスクリプトのビルドに注意してください:)

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:."
export PATH

#Modify these variables as needed...
tempWork=/tmp/work
defaultStartScript=/etc/init.d/rc.local
defaultMaven=3.0.3
locBin=/usr/local/bin
mavenUsrLib=/usr/lib/maven

mkdir -p $mavenUsrLib
mkdir -p $HOME/.m2

read -p "Please [Enter] full path name of your local startup script ($defaultStartScript is the default). Please
make sure on this before providing a value by consulting documentation for your system:" locStartScript
locStartScript=${locStartScript:-$defaultStartScript}

read -p "Please [Enter] Maven Version ($defaultMaven is default):" mavenVersion
mavenVersion=${mavenVersion:-$defaultMaven}


if [ ! -f $locStartScript ]
then
    echo "The file you provided could not be found. Remember to include the full path and try again. Exiting in 7 secs..."
    sleep 7
    exit 1
fi

mkdir -p /$tempWork
cd /$tempWork

Sudo wget http://mirrors.powertech.no/www.Apache.org/dist//maven/binaries/Apache-maven-$mavenVersion-bin.tar.gz
tar -zxvf ./*

#Move it to a more logical location
Sudo mv -f ./Apache-maven-$mavenVersion $mavenUsrLib/

#If you have Maven on Windows and use VirtualBox, you can set up the maven to be a virtualbox shared folder.
#The name must match the name used below (ignore if irrelevant to you).


if [ -f /sbin/mount.vboxsf ]
then
    Sudo /sbin/umount $HOME/.m2
    Sudo /sbin/umount $mavenUsrLib
    Sudo /sbin/mount.vboxsf .m2 $HOME/.m2
    Sudo /sbin/mount.vboxsf maven $mavenUsrLib
fi

if mountpoint -q $HOME/.m2 &&  mountpoint -q $mavenUsrLib
then
#Add it to the start script to automate process...
    Sudo sed -ie '$d' $locStartScript
if ! grep "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" $locStartScript
then
    echo "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | Sudo tee -a $locStartScript
fi

if ! grep "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" $locStartScript
then
    echo "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" | Sudo tee -a $locStartScript
fi
    echo "exit 0" | Sudo tee -a $locStartScript
    Sudo chmod +x $locStartScript

#Create a mount and unmount script file...
    rm -rf $tempWork/*
    echo '#!/bin/bash' > $tempWork/maven-mount.sh
    echo "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" >> $tempWork/maven-mount.sh
    echo "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" >> $tempWork/maven-mount.sh
    echo "echo 'mounted maven'" >> $tempWork/maven-mount.sh
    echo "exit 0" >> $tempWork/maven-mount.sh

    echo '#!/bin/bash' > $tempWork/maven-umount.sh
    echo "Sudo umount $HOME/.m2" >> $tempWork/netbeans-umount.sh
    echo "Sudo umount $mavenUsrLib" >> $tempWork/netbeans-umount.sh
    echo "echo 'unmounted maven'" >> $tempWork/maven-mount.sh
    echo 'exit 0' >> $tempWork/maven-umount.sh

#Script for mounting ALL VirtualBox shared solders....
#If there isn't one create one...
if [ ! -f $locBin/mount-all-from-Host.sh ]
then
    echo '#!/bin/bash' > $tempWork/mount-all-from-Host.sh
    echo "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | Sudo tee -a $tempWork/mount-all-from-Host.sh
    echo "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" | Sudo tee -a $tempWork/mount-all-from-Host.sh
    echo "exit 0" | Sudo tee -a $tempWork/mount-all-from-Host.sh

#Otherwise if there is one, but no mount, add one...
Elif ! grep "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" $locBin/mount-all-from-Host.sh
then
    Sudo sed -ie '$d' $locBin/mount-all-from-Host.sh
    echo "Sudo /sbin/mount.vboxsf .m2 $HOME/.m2" | Sudo tee -a $locBin/mount-all-from-Host.sh
    echo "exit 0" | Sudo tee -a $locBin/mount-all-from-Host.sh

Elif ! grep "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" $locBin/mount-all-from-Host.sh
then
    Sudo sed -ie '$d' $locBin/mount-all-from-Host.sh
    echo "Sudo /sbin/mount.vboxsf maven $mavenUsrLib" | Sudo tee -a $locBin/mount-all-from-Host.sh
    echo "exit 0" | Sudo tee -a $locBin/mount-all-from-Host.sh

fi

#Script for unmounting ALL VirtualBox shared folders...
#If there isn't one create one...
if [ ! -f $locBin/umount-all-from-Host.sh ]
then
    echo '#!/bin/bash' > $tempWork/umount-all-from-Host.sh
    echo "Sudo umount -a -t vboxsf" | Sudo tee -a $tempWork/umount-all-from-Host.sh
    echo "echo 'unmounted all VirtualBox shared folders'" | Sudo tee -a $tempWork/umount-all-from-Host.sh
    echo "exit 0" | Sudo tee -a $tempWork/umount-all-from-Host.sh
fi

    Sudo chmod +x $tempWork/*
    Sudo mv -f $tempWork/*.sh $locBin/
    rm -rf $tempWork
fi

Sudo ln -f -s $mavenUsrLib/Apache-maven-$mavenVersion/bin/* /usr/bin/
Sudo rm -rf $tempWork
Sudo reboot

exit 0
2
thejartender

アップグレードしましたが、classnotfoundエラーが発生しました。これを修正するには:

さまざまな組み合わせを試してみましたが、これは環境変数にM2_HOMEとM3_HOMEの両方が設定されているためであることがわかりました。いくつかの時間。

1
RobAu

Maven公式サイトからMavenをダウンロードして抽出します。

アプリケーションディレクトリを/ usr/localに移動します

Sudo cp -R Apache-maven-X.X.X /usr/local

Mvnのユニバーサルアクセス用に/ usr/binにソフトリンクを作成します

Sudo ln -s /usr/local/Apache-maven-X.X.X/bin/mvn /usr/bin/mvn

Mvnインストールの検証

mvn --version
0
Thirumal

PPA(personalパッケージアーカイブ)に不安がある場合は、出所これは代替です。

セキュリティの観点から、どこから来たのかわからない場合はインストールしないでください。

リンクされた 記事 で、既知の信頼できるソースであるApacheから最新のファイルを取得します。最新バージョンを入手できます

 \#mavenの最新バージョンを識別する
 latest = $(curl http://www-us.Apache.org/dist/maven/maven-3/ | tac | sed -ne ' s/[^ 0-9] * \(\([0-9] \。\)\ {0,3 \} [0-9] \)。*/\ 1/p '| head -1)
 \#download it 
 wget http://www-us.Apache.org/dist/maven/maven-3/$latest/binaries/Apache-maven-$latest-bin.tar。 gz 

次にインストールします

 \#Unpack 
 Sudo tar -zxf Apache-maven- $ latest-bin.tar.gz -C /usr/local/
\#create sym link to it 
 Sudo ln -s/usr/local/Apache-maven- $ latest/bin/mvn /usr/bin/mvn

上記のリンクと私の投稿で概説されているように

0
TomRed