なぜこれを取得するのですか?どうすれば修正できますか?
C:\Users\ash>Java version
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.7.0_01', but '1.7' is required.
Error: could not find Java.dll
Error: Could not find Java SE Runtime Environment.
JDKを再インストールし、システム変数Java_HOMEをJDKに設定します。 (例:C:\ tools\jdk7)
そして、Java_HOME変数をPATHシステム変数に追加します
コマンドラインに入力
echo %Java_HOME%
そして
Java -version
インストールが正常に完了したかどうかを確認します。
すべてのJDKを再インストールするために受け入れられた解決策は少し厳しいものでした。私もこの問題を経験しましたが、ここに私の2セントがあります:
この問題は、JDK 8をインストールしてからJDK 6をインストールしていたために発生し始めました。私が取り組んでいるさまざまなプロジェクトが必要です。
ユーザー%Java_HOME%
の両方があることに気づいたので、ユーザー%Java_HOME%
変数を削除し、システムの変数のみを残しました。
また、OracleのインストールにはいくつかのJava実行可能ファイルがあり、OracleとJavaインストールが%PATH%
変数。
すべてのJavaパスを%PATH%
変数から削除し、Oracleインストールとの競合を避けるために、変数の先頭に%Java_HOME%\bin
のみを残しました。
Java 1.8。をインストールした後、同様の問題が発生しました。
これを修正するには、システムの詳細設定->パスに移動して削除します
C:\ ProgramData\Oracle\Java\javapath;
取りはずし
C:\ ProgramData\Oracle\Java\javapath;
魅力のように働く
動作させるには、競合する「パス」からCommon Files javapathを削除する必要がありました。ありがたいことにJava -versionは問題なく動作します。
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
Java 10.0をインストールした後、同様の問題が発生しました
これを修正するには、システムの詳細設定->パスに移動して削除します
C:\ ProgramData\Oracle\Java\javapath;
この問題は通常、Windowsで「Java Runtime Environment」レジストリエントリが欠落しているか、インストールされているJDKと一致しない場合に発生します。不一致は、複数のJDKが原因である可能性があります。
解決手順:
[実行]ウィンドウを開きます。
押す windows+R
レジストリウィンドウを開く:
「regedit」と入力して入力します。
\ HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft \に移動します
Java Runtime EnvironmentがJavaSoft内に存在しない場合は、新しいキーを作成して、名前Java Runtime Environment。
Java Runtime Environmentは「CurrenVersion」文字列キーを作成し、適切なバージョンを値として指定します。
1.8の新しいサブキーを作成します。
1.8の場合、JREホームの値を持つJavaHomeという名前の文字列キーを作成します。
参照: https://mybindirectory.blogspot.com/2019/05/error-could-not-find-javadll.html
JDK Path
変数が\bin
フォルダーに向けられており、リストの一番上にあることを確認してください。
Javaという名前のファイル(C:\ProgramData\Oracle\Java\javapath
など)を持つ他のエントリがある場合、JDKのJavaファイルの代わりにそのファイルに対してコマンドを実行します。何らかの理由でファイルが破損または破損していない限り、JDK全体を再インストールする必要はありません。
問題: Windows 2012サーバーでも同じ問題が発生しました。 Java_HOME環境システム変数を使用しました。PATHでこの種類の設定を使用しました:...%Java_HOME%/ bin; ...そしてPATHに他のJava関連設定はありません.
問題は、Java_HOME変数の値の末尾にスペースがあったことです。 「C:\ Program Files\Java\Jdk 1.8.0_172」と同様に、%Java_HOME%/ binは「C:\ Program Files\Java\Jdk 1.8.0_172\bin」を意味します。そのため、値はスペースで分割され、システムは 'C:\ Program Files\Java\Jdk 1.8.0_172'でJava.exeを見つけようとしましたが、明らかにそうではありません。
解決策: Java_HOMEの値の末尾からスペースを削除します!
32ビットバージョンのJavaを使用できます。HKLM\ Software\JavaSoftからレジストリHiveフォームをエクスポートし、HKLM\Software\Wow6432Node\JavaSoftにインポートします。1.6Iの場合のみ必要なJavaHomeおよびRuntimeLib値。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Javasoft]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Javasoft\Java Runtime Environment]
"CurrentVersion"="1.6"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Javasoft\Java Runtime Environment\1.6]
"JavaHome"="C:\\Java\\jre"
"RuntimeLib"="C:\\Java\\jre\\bin\\client\\jvm.dll"
Oracle JDKをパスの先頭に配置するようにパスを編集し、修正しました。
PATH変数から「C:\ Program Files(x86)\ Heroku\bin」を削除しましたが、問題はなくなりました。多分、Herokuには異なるバージョンのJavaが必要だと思います。 PATH変数のすべてのディレクトリを確認し、競合する可能性のあるディレクトリを削除してください。
環境変数ですべての設定を行った後、「ランタイム環境が見つかりませんでした」などの別のエラーでcmdでこのエラーに直面した場合。次に、jdkフォルダでjre.exeを実行し、再インストールしてからJava -versionコマンドで再確認するだけです。それがあなたを助けることを願っています。
このプロセスは、Javaのすべてのトレースをクリーンアップしてから、新しいJavaをインストールします。
注:この問題は、複数のインストールとアンインストールが行われたときに発生します。
"C:\Windows\System32\Java.exe" to "C:\Windows\System32\Java_old.exe"
Java -version
できた。
私の場合、regedit情報は正しく、以下を実行することで問題は解決しました。
1)Java_HOMEをjdkに設定-Java_HOME = C:\ Program Files\Java \\ binを設定2)PATHをjreに設定-PATH = "C:\ Program Files\Java \\ bin"を設定