環境変数を使用していくつかのパスを設定しようとしています。環境変数「MAVEN_HOME」に値「C:\ maven」を追加しました。次に、パスに「%MAVEN_HOME%\ bin; ... rest」を追加しました。 「echo $ MAVEN_HOME%」と入力すると、画面に正しい「C:\ maven」が印刷されます。しかし、「bin」ディレクトリにあるバッチファイルである「mvn」と入力しても、見つかりません。
そのため、PATHにパス全体を手動で追加しました。 「C:\ maven\bin; ... rest」と「mvn」を見つけて実行することができました。
誰かが私が間違ったことを助けてくれますか?
私はまったく同じ問題を抱えていました。それを解決するには、次の2つのいずれかを実行できます。
または
上記はすべて正しいが、問題がまだ存在する場合は、HKEY_CURRENT_USER\Environmentのシステムレジストリをチェックして、「PATH」キータイプがREG_EXPAND_SZ(REG_SZではない)であることを確認する必要があります。
前のパスと次のパスの間にスペース文字があるかどうかを確認します。
間違った:c:\path1; c:\Maven\bin\; c:\path2\
正解:c:\path1;c:\Maven\bin\;c:\path2\
私の問題は恥ずかしいほど単純であることが判明しました。
コマンドプロンプトを再起動すると、新しい変数が更新されます
%PATH%やパス内のアイテム間のスペースのようなものは、それを壊します。注意してください
はい、スペースを含むWindowsパスはエラーの原因になります。たとえば、アプリケーションはこれをシステムの%PATH%変数定義の先頭に追加しました。
C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64;
これにより、%PATH%のすべてのパスがcmdウィンドウで設定されなくなりました。
私の解決策は、拡張パス変数を必要に応じて二重引用符で囲むことです:
"C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64;
したがって、スペースは無視され、フルパス変数は適切に解析されます。
%M2%および%Java_HOME%は、SYSTEM変数ではなく、USER変数のPATH変数に追加する必要があります。
また、コマンドプロンプトを管理者として使用していることを確認する価値があります-私の作業マシンのシステムロックは、mvn --versionと入力したときにmvnを報告したばかりの標準cmdが見つからないことを意味しました
使用するには、[スタート]> [すべてのプログラム]> [アクセサリ]をクリックし、[コマンドプロンプト]を右クリックして[管理者として実行]を選択します。
PATHウィンドウにまったくエラーがある場合、静かにそれを無視します。パス内の%PATH%やアイテム間のスペースのようなものは、それを壊します。警告される
ユーザーのPATH変数が環境のPATH変数に連結された後、PATH値が長すぎる場合、WindowsはユーザーPATH変数の連結に暗黙的に失敗します。
これは、新しいソフトウェアがインストールされ、PATHに何かが追加された後、簡単に発生し、既存のインストール済みソフトウェアが破損します。 Windowsが失敗します!
最善の解決策は、コントロールパネルでPATH変数の1つを編集し、不要なエントリを削除することです。次に、新しいCMDウィンドウを開き、すべてのエントリが「echo%PATH%」に表示されるかどうかを確認します。
Windows 10でこの問題が発生しましたが、タスクマネージャーで「Explorer.exe」を閉じた後、解決したようです。
この問題に対処するために、ユーザーレベルの変数を設定しようとするsetxコマンドを使用しました。
私は以下を使用しました...
setx Java_HOME "C:\Program Files\Java\jdk1.8.0_92"
setx PATH %Java_HOME%\bin
注:Windowsは、提供された変数値を既存の変数値に追加しようとします。したがって、余分な%PATH%を指定する必要はありません...%Java_HOME%\ bin; %PATH%のようなもの
私は同じ問題を抱えていたので、ユーザー変数からPATHEXTを削除して修正しました。 .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSCを持つシステム変数にのみ存在する必要があります
また、ユーザーからシステムへの変数を削除し、ユーザー変数にそのパスのみを含めます
私のWindows 7では。
// not working for me
D:\php\php-7.2.6-nts\php.exe
// works fine
D:\php\php-7.2.6-nts
パスの値をメモ帳にコピーし、これがターミナルウィンドウのエコー%path%と一致するかどうかを確認し、必要に応じて変更を加えます。次に、古いパス値を削除し、メモ帳の値を貼り付けます。一部のインストールによってそこに入力された不可視文字がパス値を破損したと思います。
システムとユーザーの両方のパスが正しく設定されていることを確認してください。