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

Windows 10で「Java(TM) Platform SE Binaryが応答していません」エラーを解決する11の方法

MinecraftなどのJavaベースのアプリケーションを起動しようとした際、アプリが応答しなくなり、強制終了するしかない経験はありませんか?その際、以下のようなエラーメッセージが表示されることがあります。

「Java(TM) Platform SE binaryは動作を停止しました。問題が発生したため、プログラムが正しく動作しなくなりました。プログラムを終了し、解決策が利用可能な場合は後ほど通知いたします」

本記事では、Minecraftを開いたときに発生するこのエラーをはじめ、Javaベースのアプリが動作しなくなる問題の原因と、確実な解決策を順番にご紹介します。

Windows 10でJava(TM) Platform SE Binaryが応答しない原因とは?

Java環境(Javaプラットフォーム)上では、多くのアプリケーションやプログラム、Webサイト、リンクを実行できます。中でもOpenJDKプラットフォームバイナリを利用する最も人気のあるゲームがMinecraftですが、近年このプラットフォームで多くのエラーが報告されています。この問題はMinecraftだけでなく、他のJavaベースのアプリにも影響を及ぼすことがあります。

主な原因として考えられるのは以下の通りです。

  • PC上に蓄積された不要・破損したJavaキャッシュファイル
  • Javaプラットフォームファイルと競合する互換性のないアプリ設定
  • 環境変数の誤った設定
  • Java SE Platform Binaryと干渉する一部のMinecraft MOD
  • ウイルス対策ソフトやファイアウォールによるJavaの起動ブロック
  • 古いグラフィックドライバーや互換性のないWindows OS

以下では、これらの問題を解決するための効果的なトラブルシューティング手法を紹介します。より確実な結果を得るために、記載された順番に従って試してみてください。

方法1:クリーンブート後にアプリを起動する

多くのユーザーから、PCをクリーンブートして最小限のドライバーとスタートアップタスクのみでプログラムを実行することで、この問題が解決したという報告があります。なお、クリーンブートとセーフブートは混同しないよう注意してください。セーフモードは不要なタスクをすべて停止し、最も安定したドライバーのみで起動する一方、クリーンブートはサードパーティ製のスタートアップ項目のみを無効化します。クリーンブートにより、ソフトウェアの非互換性による問題を特定・解消できます。「Windows 10でクリーンブートを実行する方法」のガイドを参考に手順を実施してください。

PCが再起動したら、MinecraftなどのJavaアプリを起動して確認します。問題が再発しない場合は、サービスを一つずつ再度有効化して、原因となっている項目を特定しましょう。不要な破損プログラムが見つかれば、完全にアンインストールすることで恒久的な解決につながります。

方法2:互換モードでプログラムを実行する

アプリがクラッシュすると、WER(Windows エラー報告)ファイルが作成されます。このテキストファイルにはクラッシュの原因を突き止めるための情報が含まれており、管理者権限でのみアクセス可能です。WERファイルからJava.exeの場所を確認し、管理者権限で実行ファイルを互換モードで起動する手順を以下に示します。

  1. Windows + Eキーを同時に押してエクスプローラーを開きます。
  2. 表示タブを開き、隠しファイルにチェックを入れます。
  3. エクスプローラーで以下のパスに移動します。
    C:\Users\<ユーザー名>\AppData\Local\Microsoft\Windows\WER\ReportArchive

注意:該当ファイルが見つからない場合は、検索ボックスで直接「Java.exe」を検索してください。類似ファイルが複数あるため、正しいJavaファイルであることをダブルクリック前に必ず確認してください。

  1. ReportArchiveフォルダ内でWERファイルを右クリックし、プログラムから開くを選択します。
  2. 一覧からメモ帳を選択してOKをクリックします。
  3. ファイル末尾までスクロールし、Java.exeの保存場所を確認して、その場所へ移動します。
  4. Java.exeを右クリックし、プロパティを選択します。
  5. 互換性タブに切り替え、「互換モードでこのプログラムを実行する」にチェックを入れます。
  6. ドロップダウンリストからWindows 7またはWindows 8を選択し、適用OKで変更を保存します。PCを再起動してアプリを再度起動してください。

方法3:環境変数を設定する

OSの構成情報は、環境変数を通じてアプリケーションに渡されます。環境変数はキー/値の文字列ペアで構成されており、常に整合性が保たれている必要があります。Windows更新後にこの問題が発生した場合は、設定が崩れている可能性があります。以下の手順で再設定しましょう。

  1. Windowsキーを押して「コントロールパネル」と入力し、開くをクリックします。
  2. 表示方法大きいアイコンに変更し、システムをクリックします。
  3. 右側の画面を下にスクロールし、システムの詳細設定をクリックします。UAC(ユーザーアカウント制御)の画面が表示されたらはいをクリックします。
  4. 詳細設定タブを開き、環境変数...をクリックします。
  5. システム環境変数欄の新規...ボタンをクリックします。
  6. 変数名に_JAVA_OPTIONS、変数値に-Xmx256Mと入力します。
  7. OKをクリックしてウィンドウを閉じます。
  8. 環境変数ウィンドウでもOKをクリックし、問題が解決したかどうかを確認します。

方法4:セーフモードでアプリを起動する

アプリの再起動でも問題が解決しない場合は、セーフモードでの起動を試みてください。この問題の原因として、Logitech Process Monitor(lvprcsrv.exe)というツールの破損したインストールファイルが挙げられることがあります。該当アプリがインストールされている場合は、完全にアンインストールしてください。また、セーフモードで起動するとJavaと干渉するすべてのプログラムが無効化されるため、問題の切り分けに有効です。「Windows 10をセーフモードで起動する方法」を参考に、サードパーティ製ソフトウェアを無効化した状態で問題が再現するか確認してください。

セーフモードで問題が発生しない場合は、最近インストールしたプログラムをアンインストールすることで解決できる可能性があります。

方法5:グラフィックドライバーを更新する

頻繁にこのエラーが発生する場合は、グラフィックドライバーが古いか破損している可能性があります。ドライバーに互換性がないと、Java環境との間で競合が発生します。「Windows 10でグラフィックドライバーを更新する4つの方法」のガイドに従って、GPUドライバーを最新版に更新してください。

ドライバー更新後はPCを再起動し、問題が解決したかどうかを確認します。

方法6:グラフィックドライバーを再インストールする

それでも問題が解決しない場合は、デバイスドライバーを再インストールして互換性の問題を解消しましょう。サードパーティ製ツールを使う方法と手動で行う方法がありますが、「Windows 10でドライバーをアンインストール・再インストールする方法」のガイドに従えば簡単に実施できます。

GPUドライバーの再インストール後、問題が解決したかどうかを確認してください。

方法7:ウイルス対策ソフトを一時的に無効化する(該当する場合)

ウイルス対策ソフトが誤ってアプリの起動をブロックしているケースもあります。多くのWindowsユーザーが互換性の問題を報告しており、放置すると深刻化することがあります。「Windows 10でウイルス対策ソフトを一時的に無効化する方法」のガイドを参考に、一時的に無効化して動作を確認してください。

問題が解決したら、セキュリティリスクを避けるため必ずウイルス対策ソフトを再度有効化してください。

方法8:Java Web Startでセッションを起動する

上記のすべての方法を試しても問題が解決しない場合は、Blackboard Collaborate Launcherアプリの代わりに、システムにインストールされているJava Web Startを使用してセッションを起動する方法があります。手順は以下の通りです。不明点がある場合はCollaborateサポートへの問い合わせをおすすめします。

  1. PC上のバックグラウンドタスク、特にコラボレーションセッションをすべて閉じます。
  2. Windowsキーを押して「コントロールパネル」と入力し、開くをクリックします。
  3. 表示方法大きいアイコンに変更し、プログラムと機能をクリックします。
  4. プログラム一覧でJavaがインストール済みか確認します。未インストールの場合は、java.comにアクセスしてインストールしてください。
  5. Javaのインストールを確認したら、新しいCollaborate会議または録画ファイルをダウンロードします(まだ起動しないでください)。
  6. ダウンロードフォルダ内の.collabファイルを右クリックし、プログラムから開くを選択します。
  7. 別のアプリを選択をクリックします。
  8. 一覧にJava(TM) Web Start Launcherが表示される場合は選択し、「常にこのアプリを使って.collabファイルを開く」にチェックを入れてOKをクリックします。表示されない場合は「このPCで別のアプリを探す」にチェックを入れ、以下のパスに移動して.exeファイルを選択し、開くをクリックします。
    C:\Program Files\java\jreXXX\bin

注意:XXXはPCにインストールされているJavaのバージョンに応じた数字です(例:jre1.8.0_221)。

  1. 以降、すべての.collabファイルはBlackboard Collaborate LauncherではなくJava Web Startで起動されるようになります。
  2. 最後にコラボレーションセッションまたは録画を実行し、問題なく起動するか確認してください。

方法9:Java SEベースのアプリを再インストールする

上記の方法で解決しない場合は、Javaベースのアプリを再インストールしてみましょう。PC上の競合問題が解消され、現在直面している問題も解決できる可能性があります。

注意:ここでは例としてMinecraftの再インストール手順を示します。お使いのアプリに合わせて読み替えてください。

  1. Windows + Iキーを同時に押してWindowsの設定を開きます。
  2. アプリをクリックします。
  3. 一覧からMinecraft Launcherを探してクリックし、アンインストールを選択します。
  4. 確認画面が表示されたら承認し、アンインストール完了後にPCを再起動します。
  5. Minecraft公式サイトにアクセスし、DOWNLOAD FOR WINDOWS 10/11ボタンをクリックします。
  6. ダウンロードフォルダに移動し、MinecraftInstallerセットアップファイルを実行します。
  7. 画面の指示に従ってインストールを完了させます。
  8. 以上でMinecraftランチャーの再インストールは完了です。アプリに関連する問題が解決されているはずです。

方法10:古いJavaバージョンを削除する(スクリプト使用)

PCに古いバージョンのJavaが残っていると、この問題が発生することがあります。Javaアプリケーションとセキュリティ修正を最新の状態に保つことが重要です。以下のコードをすべてコピーし、{PackageShare}\Scriptsフォルダに「Remove_old_java_versions.ps1」という名前で保存してください。

注意:このスクリプトは32ビット版と64ビット版の両方のインストール済みJavaを検出し、古いバージョンのみを削除して最新版だけを残します。単体で実行可能なシンプルなPowerShellスクリプトですが、処理完了まで時間がかかる場合がありますので、お待ちください。

#This script is used to remove any old Java versions, and leave only the newest.
#Original author: mmcpherson
#Version 1.0 - created 2015-04-24
#Version 1.1 - updated 2015-05-20
# - Now also detects and removes old Java non-update base versions (i.e. Java versions without Update #)
# - Now also removes Java 6 and below, plus added ability to manually change this behaviour.
# - Added uninstall default behaviour to never reboot (now uses msiexec.exe for uninstall)
#Version 1.2 - updated 2015-07-28
# - Bug fixes: null array and op_addition errors.
# IMPORTANT NOTE: If you would like Java versions 6 and below to remain, please edit the next line and replace $true with $false
$UninstallJava6andBelow = $true
#Declare version arrays
$32bitJava = @()
$64bitJava = @()
$32bitVersions = @()
$64bitVersions = @()
#Perform WMI query to find installed Java Updates
if ($UninstallJava6andBelow) {
 $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java(\(TM\))*\s\d+(\sUpdate\s\d+)*$"
 }
 #Also find Java version 5, but handled slightly different as CPU bit is only distinguishable by the GUID
 $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 ($_.Name -match "(?i)J2SE\sRuntime\sEnvironment\s\d[.]\d(\sUpdate\s\d+)*$") -and ($_.IdentifyingNumber -match "^\{32")
 }
} else {
 $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java((\(TM\) 7)|(\s\d+))(\sUpdate\s\d+)*$"
 }
}
#Perform WMI query to find installed Java Updates (64-bit)
if ($UninstallJava6andBelow) {
 $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java(\(TM\))*\s\d+(\sUpdate\s\d+)*\s[(]64-bit[)]$"
 }
 #Also find Java version 5, but handled slightly different as CPU bit is only distinguishable by the GUID
 $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 ($_.Name -match "(?i)J2SE\sRuntime\sEnvironment\s\d[.]\d(\sUpdate\s\d+)*$") -and ($_.IdentifyingNumber -match "^\{64")
 }
} else {
 $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java((\(TM\) 7)|(\s\d+))(\sUpdate\s\d+)*\s[(]64-bit[)]$"
 }
}
#Enumerate and populate array of versions
Foreach ($app in $32bitJava) {
 if ($app -ne $null) { $32bitVersions += $app.Version }
}
#Enumerate and populate array of versions
Foreach ($app in $64bitJava) {
 if ($app -ne $null) { $64bitVersions += $app.Version }
}
#Create an array that is sorted correctly by the actual Version (as a System.Version object) rather than by value.
$sorted32bitVersions = $32bitVersions | %{ New-Object System.Version ($_) } | sort
$sorted64bitVersions = $64bitVersions | %{ New-Object System.Version ($_) } | sort
#If a single result is returned, convert the result into a single value array so we don't run in to trouble calling .GetUpperBound later
if($sorted32bitVersions -isnot [system.array]) { $sorted32bitVersions = @($sorted32bitVersions)}
if($sorted64bitVersions -isnot [system.array]) { $sorted64bitVersions = @($sorted64bitVersions)}
#Grab the value of the newest version from the array, first converting
$newest32bitVersion = $sorted32bitVersions[$sorted32bitVersions.GetUpperBound(0)]
$newest64bitVersion = $sorted64bitVersions[$sorted64bitVersions.GetUpperBound(0)]
Foreach ($app in $32bitJava) {
 if ($app -ne $null)
 {
 # Remove all versions of Java, where the version does not match the newest version.
 if (($app.Version -ne $newest32bitVersion) -and ($newest32bitVersion -ne $null)) {
 $appGUID = $app.Properties["IdentifyingNumber"].Value.ToString()
 Start-Process -FilePath "msiexec.exe" -ArgumentList "/qn /norestart /x $($appGUID)" -Wait -Passthru
 #write-host "Uninstalling 32-bit version: " $app
 }
 }
}
Foreach ($app in $64bitJava) {
 if ($app -ne $null)
 {
 # Remove all versions of Java, where the version does not match the newest version.
 if (($app.Version -ne $newest64bitVersion) -and ($newest64bitVersion -ne $null)) {
 $appGUID = $app.Properties["IdentifyingNumber"].Value.ToString()
 Start-Process -FilePath "msiexec.exe" -ArgumentList "/qn /norestart /x $($appGUID)" -Wait -Passthru
 #write-host "Uninstalling 64-bit version: " $app
 }
 }
}

方法11:Javaキャッシュをクリアする

古いJavaバージョンを削除した後にJavaキャッシュをクリアすることで、問題が解決したという報告が多数あります。以下の手順に従って、Javaコントロールパネルから一時ファイルをすべて削除しましょう。

  1. Windowsキーを押して「Configure Java」と入力し、開くをクリックします。
  2. 一般タブ内の一時インターネットファイルセクションにある設定...をクリックします。
  3. 次のウィンドウでファイル削除ボタンをクリックします。
  4. 表示されたダイアログですべてのチェックボックスにチェックを入れ、OKをクリックします。

以上の手順で、openJDK platform binaryが応答しない問題が解決したかどうかを確認してください。

まとめ

本ガイドが役立ち、Windows 10でJava(TM) Platform SE binaryが応答しない問題を解決できたことを願っています。ご不明な点やご提案があれば、コメント欄からお気軽にお寄せください。次に取り上げてほしいテーマについてもぜひお聞かせください。

  1. Windows 11/10でダウンロードフォルダが応答しないときの直し方【原因と解決策】

    Windowsでダウンロードフォルダが応答しなくなって困っていませんか?Windows 11/10でダウンロードフォルダ内のファイルにアクセスできない場合、その多くはエクスプローラー(File Explorer)に何らかの問題が発生しているサインです。しかし、心配はいりません。いくつかの簡単な対処法を試すだけで、この問題を解決し、再びダウンロードフォルダにアクセスできるようになります。 Windows 11でダウンロードフォルダが応答しない主な原因 ダウンロードフォルダがフリーズしたり応答しなくなったりする原因として、よくあるものは以下のとおりです。 ダウンロードフォルダにファイルが大量に

  2. Windows 11で「DNSサーバーが応答しません」エラーを解決する方法

    ドメインネームシステム(DNS)とは、PCやサーバーなどインターネットに接続可能な機器を識別するための分散型命名システムです。自分のコンピューターや受信する通信を正しく識別するために欠かせない仕組みですが、PCがDNSサーバーに接続できないと、さまざまな問題が発生します。Windows 11で「DNSサーバーが応答しません」というメッセージが表示されても、慌てる必要はありません。このエラーは一時的な不具合であることも多く、適切な手順を踏めばすぐに復旧できます。本記事では、エラーの原因と具体的な解決策を順番に解説していきます。Windows 11でDNSサーバーが応答しないエラーを解決する方法こ