私は最新のmaven-3.0.4
をWindows 7にインストールしました:
インストールの詳細は以下のとおりです。
インストールパス:
C:\Apache-maven-3.0.4
環境変数は以下のとおりです。
M2_HOME C:\Apache-maven-3.0.4\Apache-maven\src
Java_HOME C:\Program Files\Java\jdk-1.7.0_04
追加されたパス変数は次のとおりです。
%M2_HOME%\bin;%Java_HOME%\bin;
コマンドウィンドウでは、このように表示されます。
C:\>Java -version
Java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)
C:\>mvn -version
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
これは私のPCにインストールされているMaven上の唯一のバージョンであり、以前のM2_HOME
環境変数の削除に関する多くのブログで示されている解決策は無効です。
私はこのようなブログで与えられたすべての解決策を読み、試しました:
まだそれに到達することができません。このこと全体で何が足りないのでしょうか。前もって感謝します。
私もこの問題にぶつかり、 これ の記事を見つけました。 Maven3では、私の環境変数名をM2_HOMEからM3_HOMEに変更するとうまくいきました。私はMac OS X 10.9とJDK 1.7を実行しています。お役に立てれば。
注:すでに設定されている場合は、M2_HOMEを削除してください。例:unset M2_HOME
私はこれと同じ問題を抱えていて、環境変数を注意深くやり直すことによってそれを解決することができました:
また、私はそれらをすべてシステム変数にしました。Mavenの指示のようなユーザー変数ではありません。あなたが
echo %Path%
%M2%および%Java_HOME%変数が完全に展開されていることを確認してください。
C:\Users\afairchild>echo %Path%
C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\bin;C:\Program Files\Java\jdk1.7.0_09\bin; [etc]
質問に答えても私はそれを付け加えたいと思います、あなたが上記のエラーを得ているなら、あなたがバイナリファイルをダウンロードしたことを確認してください。
ソースファイルは、あなたが上級ユーザーであり、その扱い方がわかっている場合にのみダウンロードする必要があります。
私は間違ったファイルをダウンロードしている人々、先輩や後輩のかなりのシェアを持っていました
Apt-getによるインストールにもかかわらず、2つの異なるUbuntu 12.04インストールでこの問題が発生しました。問題はM2_HOMEでした。
で修正:
export M2_HOME=/usr/share/maven
パス情報に基づいて、バイナリの代わりにソースファイルをインストール(抽出)したように見えます。代わりにバイナリをインストールして、他のポスターの回答に従ってください。
そうですね、私はこの問題を抱えていて、この記事を見た後、特にkhmarbaiseの回答を見ました。M2_HOME
は
D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0\bin
それから私はそれを変更しました
D:\workspace\Apache-maven-3.1.0-bin\Apache-maven-3.1.0
私は私が窓7を使用することを言及したいのですが(x64)
Mavenのそれ以降のバージョンのための解決策は簡単です。私はOS X ElCap、10.11.6を使っていて、Maven 3.3.9にアップグレードしました。私はエラー "Could not find ...org.codehaus.plexus...
"で同じ問題を抱えていました。提供されたリンク ここ McKameyによるコメントで解決策を提供しました - 単にM2_HOME(unset M2_HOME
)を削除してください。それを試したら、それはすべて期待通りに動作しました。
これはMaven install page
にアクセスすることで確認できます。「作成されたディレクトリApache-maven-3.3.9のbinディレクトリをPATH環境変数に追加します」 - M2_HOMEまたはM3_HOMEはまったく言及されていません。
M2_HOMEの場所を次のように変更する必要があります。
set M2_HOME=C:\Apache-maven-3.0.4\Apache-maven
さらにJDKのインストールは、JDKではなくJREに見えます。 MavenにはJDKが必要でJREは必要ありません。
私は私のMac OSXで同様の問題に出会いました。一連の試行錯誤の試みの後、私はついにそれを解決しました。
私の~/.bash_profile
はこのように見えました
export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME
端末からecho M2_HOME
を実行しようとしたときに正しいパスが表示されましたが、mvn clean
やmvn install
などの任意のmavenコマンドを起動しようとしたときに、常に同じ問題が発生しました
メインクラスorg.codehaus.plexus.classworlds.launcher.Launcherが見つからないか、読み込めませんでした。
私はM2_HOME
をこれに変更することによってこの問題を解決しました
export M2_HOME=/Users/xyz/maven-3.x
export PATH=$PATH:$M2_HOME/bin
そして、やあ!それは働き始めました! /bin
の位置をM2_HOMEからPATH
の前に移動するだけで
Mavenのセットアップのほとんどの問題で、「メインクラスが見つからないかロードできませんでした...」のような問題が発生します。まずは、以下の手順で修正するかどうかを確認してください。
それで….
Source Zipアーカイブではなく、Binary Zipアーカイブ(Apache-maven-3.5.0-bin.Zip)をダウンロードしたことを確認してください。次に、作成したディレクトリApache-maven-3.5.0のbinディレクトリをPATH環境変数に追加します。
私は同じ問題を抱えていました。 Windows XPのボックスがあり、コマンドラインでmvn -version
と入力すると、恐ろしいエラーメッセージが表示されます。
"Exception in thread "main" Java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher"
私のM2_HOME
変数は、MavenがPCにインストールされているパスに設定されていること、そしてecho %path%
によってMavenが自分のパスに入っていることを確認したことを確認しました。
私は自分の解決策を見つけたときに何時間も解決策を探し続けてきました(私が自分の解決策を言うのは、おそらくこれが同じエラーを起こしているみんなの解決策にならないことを知っているからです)。
M2_HOME
変数に割り当てられているパスをコピーしました。 cmdウィンドウを開き、cdと入力して、M2_HOME
変数から取得したパスを貼り付けました。その時点で、パスがウィンドウに表示されているため、パスが正しいことがわかりました。この時点でdirコマンドを入力しましたが、驚いたことに、「ファイルが見つかりません」というエラーが表示されました。
私はエクスプローラーを経由してそのパスに行き、十分なファイルが存在することを確認しました。フォルダが消えていくのに気が付きましたが、フォルダにアクセスして各フォルダ内のファイルを見ることができました(私は自分のPCの管理者権限を持っていました)。 Mavenの親フォルダのプロパティを調べたところ、[隠しファイル]ボックスがオンになっていることがわかりました。チェックを外して適用し、dirコマンドをもう一度試してみました。
次にmvn –version
コマンドをもう一度試しましたが、今回は期待した結果に戻りました。
C:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
Maven home: C:\Program Files\Apache-maven-3.0.3
Java version: 1.5.0_16, vendor: Sun Microsystems Inc.
Java home: C:\Java\jdk1.5.0_16\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows xp", version: "5.1", Arch: "x86", family: "windows"
最後に私はjarファイルとwarファイルを作成し、私のウェブアプリは私の地元のTomcatでうまく動いた。
これが皆さんの一部に役立つことを願っています。
私も同様の問題に直面しました。しかし、私の場合はパス変数にApache-maven-3.3.3-srcフォルダを使用しました。後で私は正しいパスApache-maven-3.3.3-binでそれらを修正しました。これで問題は解決しました。それがここで報告されたのと同じエラーであると言っているわけではありませんが、この方法でもこのエラーを取得して修正できます。それが私がここで言おうとしていることです。
私はあなたが間違ったバージョンをダウンロードすると思います。私はたった今この問題に遭遇しました、捜して、そして捜した後に、方法は働きません。最後に、私がダウンロードしたmavenは Source Zip archive であることがわかりました。 Binary Zip archive に変更した後は、すべてうまくいきます。
mavenのバイナリバージョンをインストールすると、問題が修正されます
Apache-maven-3.6.1-bin.Zip
公式Mavenサイトの完全なソースの代わりに、バイナリZip(例えばMaven 3.0.5(Binary Zip)用)をダウンロードしてみてください。また、コマンドラインがJavaコマンドとjavacコマンドを認識していることを確認してください。 Maven Source Zipにはlibフォルダーにライブラリが含まれていないことに気づきましたが、Binary Zipにはplexus-classworlds-2.4.jarが含まれていました。おそらく問題は、これらのライブラリが存在しないことにあります。とにかくそれは私のM2_HOMEがC:\ Program Files\Java\Apache-maven-3.0.5であり、PATHにC:\ Program Files\Java\Apache-maven-3.0.5\binとなるように助けてくれました。
私のcentOSでこの問題は "Oracle Javaがgcjに置き換えられた"ことが原因で、デフォルトのJavaを "Oracle Java"に変更した後に解決しました。
alternatives --config Java
There are 2 programs which provide 'Java'.
Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/Java
+ 2 /usr/Java/jdk1.7.0_67/bin/Java
これに遭遇するかもしれない他の人々のために、M2_HOMEまたはJava_HOME設定のために〜/ .mavenrcをチェックすることを忘れないでください。
@khmarbaiseが指摘したことに加えて、私はあなたがあなたのJava_HOMEをタイプミスしたと思います。デフォルトの場所にインストールした場合は、jdkと1.7.0_04の間に " - "(ハイフン)を入れないでください。だからそれはだろう
Java_HOME C:\Program Files\Java\jdk1.7.0_04
UbuntuのOpenJDK 11でMaven 3.5.4を使用したときに、この問題が発生しました。 UbuntuのOpenJDK 11は、実際はまだJDK 10です。
$ ls -al /etc/alternatives/Java
lrwxrwxrwx 1 root root 43 Aug 24 04:54 /etc/alternatives/Java -> /usr/lib/jvm/Java-11-openjdk-AMD64/bin/Java
$ Java --version
openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)
OracleからOpenJDKを/opt/jdk-11.0.1にインストールし、Mavenを次のように実行します。
Java_HOME=/opt/jdk-11.0.1 mvn
それは今魅力のように働きます。
インストールディレクトリにbin
ディレクトリのみをコピーすると、正しい環境変数設定でもまったく同じエラーが表示されることがあります。それはwhich
をうまく動作させ、初心者は動けなくなります。
私にとっては、面白いことに、Eclipse
...を再起動するのに役立ちました。
新しいターミナルを開き、次の操作を行います
M2_HOME=/Users/macbook/Apache-maven-3.6.1 //Set where maven is
M2=$M2_HOME/bin //Set home as bin
export PATH=$M2:$PATH //Place the new path
次に入力
mvn -version
./bash_profile
でこれを設定して、ターミナルを実行するたびに自動的に実行することができます
Surefireプラグイン自体に問題がありました。バージョン2.6に戻るとうまくいきました。バージョン2.18/20/22.1は私にエラーを与えた。今私はsurefireプラグインのバージョン3.0.0-M1を試してみて、それは動作します。
そのため、バージョン2.6と3.0.0の間のsurefire plginには問題があります。デフォルトとしてハードコードされていないものがあると思います。
これは私のために働いた:
CMDの結果:
Apache Maven 3.6.0(97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47 + 02:00)Mavenホーム:C:\ Apache-maven-3.6.0\bin ..