web-dev-qa-db-ja.com

Mavenエラー:メインクラスorg.codehaus.plexus.classworlds.launcher.Launcherが見つからないか、読み込めません。

私は最新のmaven-3.0.4Windows 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環境変数の削除に関する多くのブログで示されている解決策は無効です。

私はこのようなブログで与えられたすべての解決策を読み、試しました:

まだそれに到達することができません。このこと全体で何が足りないのでしょうか。前もって感謝します。

124
manofsins

私もこの問題にぶつかり、 これ の記事を見つけました。 Maven3では、私の環境変数名をM2_HOMEからM3_HOMEに変更するとうまくいきました。私はMac OS X 10.9とJDK 1.7を実行しています。お役に立てれば。

注:すでに設定されている場合は、M2_HOMEを削除してください。例:unset M2_HOME

129
Ian

私はこれと同じ問題を抱えていて、環境変数を注意深くやり直すことによってそれを解決することができました:

  • M2_HOME
  • M2
  • Java_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]
60
Alex Fairchild

質問に答えても私はそれを付け加えたいと思います、あなたが上記のエラーを得ているなら、あなたがバイナリファイルをダウンロードしたことを確認してください。

ソースファイルは、あなたが上級ユーザーであり、その扱い方がわかっている場合にのみダウンロードする必要があります。

私は間違ったファイルをダウンロードしている人々、先輩や後輩のかなりのシェアを持っていました

51
dirbacke

Apt-getによるインストールにもかかわらず、2つの異なるUbuntu 12.04インストールでこの問題が発生しました。問題はM2_HOMEでした。

で修正:

export M2_HOME=/usr/share/maven
47
Joseph Lust

私はこのエラーがMavenのサイトからBINARYの代わりにSRCをダウンロードすることによって引き起こされたと信じています。必ずバイナリZipをダウンロードしてください。

以下のパスなので、SRCをダウンロードしたときにのみ入手できます。

M2_HOME C:\ Apache-maven-3.0.4\Apache-maven\src

enter image description here

19
saravp

パス情報に基づいて、バイナリの代わりにソースファイルをインストール(抽出)したように見えます。代わりにバイナリをインストールして、他のポスターの回答に従ってください。

19
jdmidtun

そうですね、私はこの問題を抱えていて、この記事を見た後、特に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)

13
Adelin

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はまったく言及されていません。

5
JESii

M2_HOMEの場所を次のように変更する必要があります。

set M2_HOME=C:\Apache-maven-3.0.4\Apache-maven

さらにJDKのインストールは、JDKではなくJREに見えます。 MavenにはJDKが必要でJREは必要ありません。

4
khmarbaise

私は私のMac OSXで同様の問題に出会いました。一連の試行錯誤の試みの後、私はついにそれを解決しました。

私の~/.bash_profileはこのように見えました

export M2_HOME=/Users/xyz/maven-3.x/bin
export PATH=$PATH:$M2_HOME

端末からecho M2_HOMEを実行しようとしたときに正しいパスが表示されましたが、mvn cleanmvn 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の前に移動するだけで

3
Saif Asif

Mavenのセットアップのほとんどの問題で、「メインクラスが見つからないかロードできませんでした...」のような問題が発生します。まずは、以下の手順で修正するかどうかを確認してください。

  • 正しいアーカイブ(SOURCEアーカイブではなくBINARYアーカイブ)を解凍したことを確認してください。
  • Mavenに関連するすべてのユーザーおよびシステム変数を削除します(例:M2_HOME、M2_OPTSなど)。
  • Java_HOMEシステム変数が設定されていることを確認してください(例: "C:\ Program Files\Java\jdk1.8.0_172")
  • Java binの場所が "path"システム変数に追加されていることを確認してください(例: "%Java_HOME%\ bin")。
  • Maven binの場所が "path"システム変数に追加されていることを確認してください(例: "C:\ MyInstalls\Apache-maven-3.5.4\bin")。

それで….

  • Javaがセットアップされていることを確認します(コマンドプロンプト:Java -version)。
  • Mavenがセットアップされていることを確認します(コマンドプロンプトで:mvn --version)。
2
Sreekanth

Source Zipアーカイブではなく、Binary Zipアーカイブ(Apache-maven-3.5.0-bin.Zip)をダウンロードしたことを確認してください。次に、作成したディレクトリApache-maven-3.5.0のbinディレクトリをPATH環境変数に追加します。

2
Shaini Sinha

私は同じ問題を抱えていました。 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でうまく動いた。

これが皆さんの一部に役立つことを願っています。

2
Lou

私も同様の問題に直面しました。しかし、私の場合はパス変数にApache-maven-3.3.3-srcフォルダを使用しました。後で私は正しいパスApache-maven-3.3.3-binでそれらを修正しました。これで問題は解決しました。それがここで報告されたのと同じエラーであると言っているわけではありませんが、この方法でもこのエラーを取得して修正できます。それが私がここで言おうとしていることです。

1
vinoth kumar

私はあなたが間違ったバージョンをダウンロードすると思います。私はたった今この問題に遭遇しました、捜して、そして捜した後に、方法は働きません。最後に、私がダウンロードしたmavenは Source Zip archive であることがわかりました。 Binary Zip archive に変更した後は、すべてうまくいきます。

1
Mithril

mavenのバイナリバージョンをインストールすると、問題が修正されます

Apache-maven-3.6.1-bin.Zip

1
Bharath Kumar

公式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となるように助けてくれました。

1
Shendor

私の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
1
wu liang

これに遭遇するかもしれない他の人々のために、M2_HOMEまたはJava_HOME設定のために〜/ .mavenrcをチェックすることを忘れないでください。

1
JBCP

@khmarbaiseが指摘したことに加えて、私はあなたがあなたのJava_HOMEをタイプミスしたと思います。デフォルトの場所にインストールした場合は、jdkと1.7.0_04の間に " - "(ハイフン)を入れないでください。だからそれはだろう

Java_HOME C:\Program Files\Java\jdk1.7.0_04 
1
Raghuram

あなたがソースファイルをインストールしたように見えます(なぜならsrcはソースファイルに入ってくるだけで、私たちはそれを必要としないからです)。 そこ からバイナリファイルをインストールしてみてください。それから そこ のように環境変数を設定します。これは私のために働きました。そしてそれはあなたのためにもうまくいくと確信しています。

1
Hammad Hassan

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

それは今魅力のように働きます。

0
Christian Hujer

インストールディレクトリにbinディレクトリのみをコピーすると、正しい環境変数設定でもまったく同じエラーが表示されることがあります。それはwhichをうまく動作させ、初心者は動けなくなります。

0
dytori

私にとっては、面白いことに、Eclipse...を再起動するのに役立ちました。

0
membersound

新しいターミナルを開き、次の操作を行います

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でこれを設定して、ターミナルを実行するたびに自動的に実行することができます

0

Surefireプラグイン自体に問題がありました。バージョン2.6に戻るとうまくいきました。バージョン2.18/20/22.1は私にエラーを与えた。今私はsurefireプラグインのバージョン3.0.0-M1を試してみて、それは動作します。

そのため、バージョン2.6と3.0.0の間のsurefire plginには問題があります。デフォルトとしてハードコードされていないものがあると思います。

0
Coolius

これは私のために働いた:

  1. 環境変数内のすべてのMavin参照を削除する
  2. MavinからBinaryをダウンロードしてください。
  3. 元の場所に解凍します。C:\ Apache-maven-3.6.0
  4. 環境変数に移動し、System変数パス "C:\ Apache-maven-3.6.0\bin"に追加します。
  5. 管理者としてプロンプト
  6. バージョンをチェックする:mvn -v

CMDの結果:

Apache Maven 3.6.0(97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47 + 02:00)Mavenホーム:C:\ Apache-maven-3.6.0\bin ..

0
Aberaitius