問題タブ [git-for-windows]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1231 参照

maven - Git for Windows (64 ビット) での Maven classworlds.launcher.Launcher エラー

Git Bash (64 ビット) で Maven を数か月使用していますが、突然動作しなくなり、maven コマンドでこのエラーが発生しています。

私はこれを含む SO に関する多くの質問を確認しました: Maven エラー: メイン クラス org.codehaus.plexus.classworlds.launcher.Launcherが見つからないかロードできませんでしたが、私の問題は解決していません。

2.12 から最新の Git for Windows (2.14.2.windows.2) にアップグレードしましたが、問題は残ります。

私の Maven インストールは C:\apache-maven-3.5.0\bin にあり、これは私の PATH 変数にあります。

JAVA_HOME も正しく設定されています。

MAVEN_HOME の追加/削除を試みましたが、Apache Maven スタートアップ スクリプト (C:\apache-maven-3.5.0\bin\mvn) で検出されないようです:

Apache Maven Startup Script に入り、${MAVEN_HOME} のインスタンスを C:\apache-maven-3.5.0 に置き換えると、Launcher クラスが検出され、正しく実行されます。

次のように編集します。

次に生成します:

これは洗練されていない回避策であり、適切な解決策を見つける必要があります。パスをハードコーディングせずに Maven を実行できるようにするには、どのような環境または構成の変更を試みることができますか?


VonCの回答の手順/結果:


さらにデバッグした後、私の問題は MINGW Git bash: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcherの Maven エラーと同じように見えることに気付きました。コードのこのセクションで MAVEN_HOME 変数がクリアされます。 :

問題のある行[[ -n "$MAVEN_HOME" ]] && MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`を bash セッションで実行すると、最新の Git for Windows で動作を再現できます。

これは、コマンドを直接実行したときに得られるものです。期待どおりに MAVEN_HOME ではなく、現在のディレクトリが返されます。コマンドがサブシェルで実行されるためにそれが起こると仮定しますか?