142

Windows 7に最新版maven-3.0.4をインストールしました: インストールの詳細は次のとおりです: インストール パス:

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は有効ではありません。

次のようなブログで提供されているすべてのソリューションを読んで試しました。

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

4

30 に答える 30

142

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

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

于 2014-03-10T20:19:26.330 に答える
61

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

  • 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]
于 2012-11-13T18:08:40.157 に答える
52

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

以下で修正:

export M2_HOME=/usr/share/maven
于 2013-03-06T00:40:15.420 に答える
21

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

于 2013-03-27T16:19:12.863 に答える
13

さて、私はこの問題を抱えていましたが、この投稿と特に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

Windows 7(x64)を使用していることに言及したいと思います

于 2013-08-09T20:36:34.083 に答える
4

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

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

さらに、JDK のインストールは、JDK ではなく JRE のように見えます。Maven の場合、JRE ではなく JDK が必要です。

于 2012-06-20T11:12:57.710 に答える
4

Mac OSX でも同様の問題に遭遇しました。一連の試行錯誤の末、最終的に解決しました。

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

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

ターミナルからしようとすると、正しいパスが表示されましたが、またはのecho M2_HOMEようなmavenコマンドを起動しようとすると、常に同じ問題が発生しましたmvn cleanmvn install

メイン クラス org.codehaus.plexus.classworlds.launcher.Launcher が見つからないか、読み込めませんでした

私はこれに変更することでこの問題を解決M2_HOMEしました

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

そして出来上がり!それは働き始めました!の位置を/binM2_HOMEから手前に移動するだけでPATH

于 2014-05-15T18:49:47.573 に答える
2

同じ問題がありました。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 コマンドを入力すると、驚いたことに、File Not Found というエラーが表示されました。

エクスプローラーを介してそのパスに移動し、ファイルが存在することを確認しました。フォルダーがフェードアウトしていることに気付きましたが、それらにアクセスして各フォルダー内のファイルを表示できました (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 で Web アプリが正常に実行されました。

これがあなたの何人かを助けることを願っています。

于 2013-03-07T06:20:41.680 に答える
1

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
于 2015-03-03T09:07:43.010 に答える
1

@khmarbaise が指摘したことに加えて、JAVA_HOME のタイプを間違えたと思います。デフォルトの場所にインストールした場合、jdk と 1.7.0_04 の間に「-」(ハイフン) はありません。だからそうなるだろう

JAVA_HOME C:\Program Files\Java\jdk1.7.0_04 
于 2012-06-20T12:43:09.350 に答える
1

公式 Maven サイトの完全なソースではなく、バイナリ zip (例: Maven 3.0.5 (Binary zip)) をダウンロードしてみてください。また、コマンド ラインが java および javac コマンドを認識することを確認してください。Maven ソース zip には lib フォルダーにライブラリが含まれていませんでしたが、バイナリ 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を置きました。

于 2014-12-02T12:27:42.223 に答える
1

間違ったバージョンをダウンロードしたと思います。私は今この問題に遭遇しました。検索して検索してもメソッドは機能しません。最後に、ダウンロードした maven がSource zip archiveであることがわかりました。Binary zip archiveに変更すると、すべてがうまくいきます。

于 2015-11-06T03:42:01.537 に答える
0

役に立つかもしれないが症状が強すぎるかもしれない回答の次に、問題の原因を見つける手助けをしようとする回答があります。

Maven はコマンドライン Java ツールです。つまり、これはスタンドアロンのバイナリではなく、.jarjvm ( java.exeWindows の場合java、Linux の場合) によって解釈される Java のコレクションです。

mvnコマンドはスクリプトです。Windows ではスクリプトと呼ばれmvn.cmd、Linux ではシェル スクリプトと呼ばれます。したがって、次のように書くと、次mvn installのようになります。

  1. コマンド インタープリター (/bin/shまたはcmd.exe) が実際の呼び出しスクリプトに対して呼び出されます。
  2. このスクリプトは、必要な環境変数を設定します
  3. 最後に、Maven 機能を含む必要なクラスパスを使用して Java インタープリターを呼び出します。

問題は(2)です。幸いなことに、このスクリプトは非常にシンプルです。Java プログラマーにとって、20 行前後のスクリプトをデバッグすることは、たとえそれが少し異質な言語であっても、大きな問題にはなりません。

Linux では、シェル インタープリターにフラグを指定してシェルスクリプトをデバッグでき-xます (これはおそらくbashです)。cmd.exeWindows では、スクリプトをデバッグする別の方法を見つける必要があります。したがって、代わりにmvn install、コマンドを与えbash -x mvn installます。

結果は次のようになります。

+ '[' -z '' ']'
+ '[' -f /etc/mavenrc ']'
+ '[' -f /home/picsa/.mavenrc ']'
+ cygwin=true
+ darwin=false

...そんなに多くはありません...

+ MAVEN_PROJECTBASEDIR='C:\peter\bin'
+ export MAVEN_PROJECTBASEDIR
+ MAVEN_CMD_LINE_ARGS=' '
+ export MAVEN_CMD_LINE_ARGS
+ exec '/cygdrive/c/Program Files/Java/jdk1.8.0_66/bin/java' -classpath 'C:\peter/boot/plexus-classworlds-*.jar' '-Dclassworlds.conf=C:\peter/bin/m2.conf' '-Dmaven.home=C:\peter' '-Dmaven.multiModuleProjectDirectory=C:\peter\bin' org.codehaus.plexus.classworlds.launcher.Launcher
Fehler: Hauptklasse org.codehaus.plexus.classworlds.launcher.Launcher konnte nicht gefunden oder geladen werden

最後に、どの環境変数が悪くなったかを簡単にテストでき、スクリプトを非常に簡単に修正 (または必要なものを設定) できます。

于 2016-01-20T17:08:59.757 に答える
0

Surefire プラグイン自体に問題がありました。バージョン 2.6 に戻すとうまくいきました。バージョン 2.18/20/22.1 でエラーが発生しました。今、surefire プラグインのバージョン 3.0.0-M1 を試してみましたが、うまくいきました。

そのため、バージョン 2.6 と 3.0.0 の間の Surefire プラグインに何か問題があります。デフォルトとしてハードコードされるべきではない何かがあると思います。

于 2018-11-26T09:42:09.500 に答える