Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法

特定のアプリケーションの実行ファイルを開こうとした際に、「レジストリが存在しないJavaランタイム環境(Java Runtime Environment)を参照しています」というエラーメッセージが表示されるという報告が多数寄せられています。影響を受けているユーザーの多くは、以前は同じ実行ファイルを問題なく起動できていたのに、突然この問題が発生するようになったと語っています。

「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法

「レジストリが存在しないJavaランタイム環境を参照しています」エラーの原因

本記事では、この問題の再現を試みるとともに、さまざまなユーザーレポートを調査しました。このエラーメッセージが表示される場合、レジストリエディタ内に古いJavaインストールの残骸が残っていることを示しています。

調査の結果、この問題が発生する主なシナリオとして、以下の2つが確認されました。

  • レジストリに実際のJavaパスにつながらないエントリが残っている – 初回インストール後にソフトウェアを手動で別のディレクトリへ移動した場合などに発生します。対応しなくなったレジストリエントリを手動で削除することで解決できます。
  • 不完全または破損したJavaインストール – JavaをアンインストールしてからJDKを再インストールすることで解決したユーザーが多くいます。破損したファイルや一時的な不具合が原因である可能性があります。

現在この問題の解決にお困りの場合は、以下で検証済みのトラブルシューティング手順をご紹介します。いずれも同じ状況にあったユーザーが実際に成功した方法です。効果的な結果を得るために、問題が解決するまで順番に試していくことをおすすめします。それでは始めましょう!

方法1:存在しないJavaHomeおよびRuntimeLibのレジストリエントリを削除する

同じ問題に直面していた複数のユーザーが、実在しないパスを参照しているJavaHomeおよびRuntimeLibのレジストリエントリを削除することで、この問題を解決しています。

すべてのJavaHome変数は「\bin\client\jvm.dll」のようなパスを参照している必要があり、各RuntimeLibは実在する「jvm.dll」ファイルを指していなければなりません。しかし、この問題が発生している場合は、対応するパスやファイルが存在しない変数が1つ以上見つかることがあります。

これは、インストール後にソフトウェアを別のディレクトリへ移動した場合などに起こります。該当するレジストリ変数が見つかった場合は、手動で削除する必要があります。

この作業にはある程度の手間と技術的な知識が必要ですが、Javaランタイム環境全体を再インストールすることなく問題を解決できる可能性があります。以下に手順を詳しく説明します。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。「regedit」と入力してEnterキーを押すと、レジストリエディタが起動します。UAC(ユーザーアカウント制御)の画面が表示されたら「はい」をクリックします。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  2. レジストリエディタの左ペインを使って、以下の場所へ移動します。
    コンピューター \ HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment
  3. Java Runtime Environmentフォルダ内の最初のJavaバージョンを選択し、右ペインを表示します。
  4. 右ペインでJavaHomeをダブルクリックし、値のデータのパス全体をクリップボードにコピーします。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  5. エクスプローラーを開き、先ほどコピーしたパスをナビゲーションバーに貼り付けてEnterキーを押します。場所が表示されれば、そのレジストリ値には有効なパスが対応しています。何も見つからない場合は、存在しないJavaインストールを参照しているため、削除が必要です。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法

    注意:値のデータのパスがどこにもつながらない場合は、JavaHomeを右クリックして「削除」を選択し、レジストリエントリを削除してください。

    「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  6. JavaHomeの確認が完了したら、次にRuntimeLibをダブルクリックし、値のデータのパスをクリップボードにコピーします。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  7. 同様にエクスプローラーを開き、コピーしたパスをナビゲーションバーに貼り付けます。ただし今回は、Enterキーを押す前に末尾の「jvm.dll」の部分を削除してください。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法

    注意:対応するパスが見つかれば、RuntimeLibのレジストリ値は正常に機能しています。「Windowsがパスを見つけられません」というメッセージが表示された場合は、存在しないJavaインストールを参照しているため、削除が必要です。その場合はRuntimeLibを右クリックして「削除」を選択してください。

    「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  8. 最初のJavaバージョンの確認が完了したら、Java Runtime Environmentフォルダ内に残っている他のすべてのJavaバージョンについても、手順4~7を繰り返します。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  9. すべてのレジストリエントリの確認と対処が完了したら、レジストリエディタを閉じてPCを再起動し、次回起動時にエラーが解消されているかどうかを確認します。

この方法で解決しなかった場合、あるいはもっと簡単な解決策をお探しの場合は、次の方法に進んでください。

方法2:JavaをアンインストールしてJDKをインストールする

Minecraftなど、JDKに依存するアプリケーションを起動する際にこの問題が発生している場合は、Java環境全体をアンインストールしてから、JDK(Java Development Kit)を再インストールすることで解決できる可能性があります。

具体的な手順は以下の通りです。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開き、「appwiz.cpl」と入力してEnterキーを押します。「プログラムと機能」が開きます。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  2. 「プログラムと機能」画面で「発行元」列をクリックし、「Oracle Corporation」が発行したエントリまでスクロールします。
  3. 各Javaインストール(またはアップデート)を右クリックして「アンインストール」を選択し、画面の指示に従ってアンインストールを完了させます。これをすべてのJava関連エントリに対して行います。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  4. Java環境を完全にアンインストールしたら、PCを再起動します。
  5. 再起動後、Oracleの公式ダウンロードページにアクセスし、「Download」ボタンをクリックします。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  6. 次の画面で「Java SE Development Kit」までスクロールし、「Accept Licence Agreement(ライセンス契約に同意する)」のトグルをオンにします。その後、Windows用の実行ファイルのダウンロードリンクをクリックします。「レジストリが存在しないJavaランタイム環境を参照しています」エラーの解決方法
  7. JDKインストーラーを起動し、画面の指示に従ってJDK環境をPCにインストールします。完了時に自動的に再起動を求められない場合は、手動でPCを再起動してください。
  8. 再起動後は、「レジストリが存在しないJavaランタイム環境を参照しています」というエラーに遭遇することなく、アプリケーションを正常に起動できるはずです。
  1. 「DNSサーバーが応答しません」エラーの原因と10の解決方法

    「DNSサーバーが応答しません(DNS Server is not responding)」は、PCで発生することのあるネットワーク関連のトラブルです。このエラーが表示されると、どのWebサイトにも接続できなくなるため、多くの方にとって深刻な問題となります。しかし幸いなことに、設定を少し調整するだけで比較的簡単に解決できるケースがほとんどです。この記事では、「DNSサーバーが応答しない」エラーの原因と、その具体的な修正方法を順番にご紹介します。 DNSとは何か? 問題をより深く理解するために、まずDNSサーバーが何であり、ネットワークにどのような影響を与えるのかを知っておきましょう1。説明を読

  2. 【Windows 10】レジストリエディターが動作を停止するエラーの修正方法

    管理者権限でRegedit.exeを実行しても、存在しない値を検索すると、レジストリエディターは検索を続けたままになり、キャンセルしようとしてもフリーズしてしまいます。さらに、キャンセルボタンを押すと「レジストリエディターが動作を停止しました」というエラーメッセージがポップアップで表示され、アプリが強制的に再起動します。この問題の主な原因は、検索対象となったサブキーの長さが255バイトを超えていることです。初期バージョンのWindows 10では、検索時に許容されるレジストリキーの最大長が255バイトに制限されていたため、これより長いキーを検索するとエラーが発生します。ただし、ウイルスやマルウ