Windows 10에서 Java TM Platform SE 바이너리가 응답하지 않는 문제 수정

마인크래프트와 같은 자바 기반 응용 프로그램을 실행하거나 열려고 할 때, 때로는 프로그램이 멈춘 것처럼 보이고, 결국 앱을 강제로 종료해야 할 때가 있습니다. 이 경우, “Java Platform SE 바이너리가 작동을 멈췄습니다.”라는 오류 메시지가 나타날 수 있습니다. 이러한 문제는 프로그램의 정상적인 작동을 방해하며, 윈도우는 프로그램 종료 후 해결책을 찾아볼 것을 제안합니다. 만약 마인크래프트를 실행할 때 이러한 ‘응답 없음’ 오류가 발생한다면, 이 문제 해결 안내가 도움이 될 것입니다.

윈도우 10에서 Java TM Platform SE 바이너리 응답 없음 문제 해결

자바 플랫폼은 다양한 응용 프로그램, 프로그램, 웹사이트 및 링크를 실행하는 데 사용되는 환경입니다. 특히 마인크래프트는 OpenJDK 플랫폼 바이너리를 사용하는 대표적인 게임 중 하나이며, 최근 들어 많은 오류를 발생시키고 있습니다. 이러한 문제는 마인크래프트뿐 아니라 다른 자바 기반 응용 프로그램에도 영향을 미칠 수 있으며, 자바 TM 플랫폼 SE 바이너리가 작동을 멈추는 데는 여러 가지 원인이 있을 수 있습니다. 다음은 그 주요 원인들입니다.

  • 윈도우 PC에 불필요하거나 손상된 자바 캐시 파일
  • 자바 플랫폼 파일과 충돌하는 호환되지 않는 자바 응용 프로그램 설정
  • 컴퓨터의 잘못된 환경 변수 설정
  • 자바 SE 플랫폼 바이너리 작동을 방해하는 마인크래프트 모드
  • 바이러스 백신 또는 방화벽이 자바 플랫폼의 정상적인 작동을 차단하는 경우
  • 오래된 드라이버 또는 호환되지 않는 윈도우 운영 체제

이 글에서는 윈도우 10에서 OpenJDK 플랫폼 바이너리 문제를 해결하는 데 효과적인 몇 가지 방법을 소개합니다. 최적의 결과를 위해 아래 제시된 순서대로 시도해 보십시오.

방법 1: 클린 부팅 후 앱 실행

많은 사용자들이 PC를 클린 부팅한 후 최소한의 드라이버와 시작 프로그램만으로 실행함으로써 자바 TM 플랫폼 SE 바이너리 응답 없음 문제를 해결했다고 보고합니다. 클린 부팅과 안전 모드를 혼동하지 않도록 주의해야 합니다. 안전 모드는 불필요한 모든 작업을 중단하고 가장 기본적인 드라이버만 실행하는 반면, 클린 부팅은 시작 프로그램에 할당된 타사 추가 기능만 제거합니다. 클린 부팅은 소프트웨어 비호환성 문제를 해결하는 데 도움이 됩니다. 윈도우 10에서 클린 부팅을 수행하는 방법은 다음과 같습니다.

PC가 재시작되면 마인크래프트나 다른 자바 기반 프로그램을 실행해 보십시오. 문제가 해결되면, 서비스들을 하나씩 다시 활성화하면서 문제의 원인을 찾을 수 있습니다. 또한, 필요하다면 문제가 되는 프로그램을 완전히 제거할 수도 있습니다.

방법 2: 호환 모드에서 프로그램 실행

프로그램이 충돌하면 윈도우 오류 보고(WER) 파일이 생성됩니다. 이 파일에는 충돌 원인을 파악하는 데 도움이 되는 정보가 들어 있습니다. WER 파일은 특정 위치에 저장된 텍스트 파일이며, 관리자 권한이 있는 사용자만 접근할 수 있습니다. 소프트웨어 공급업체가 고객의 충돌 데이터에 접근하려면 마이크로소프트의 Winqual 서비스에 동의해야 합니다. 충돌 데이터를 분석하면 자바 TM 플랫폼 SE 바이너리 응답 없음 문제의 원인을 파악할 수 있습니다. 만약 기밀 데이터가 제3자에게 공유되는 것을 원치 않는다면, 이 데이터를 분석하여 문제 원인을 밝힐 수 있는 전문가에게 전달할 수도 있습니다. 또는, WER 파일을 직접 분석하고, 자바 실행 파일을 관리자 권한으로 실행하여 문제를 해결할 수도 있습니다. 자바 실행 파일의 위치를 찾는 방법은 다음과 같습니다.

1. Windows 키 + E 키를 눌러 파일 탐색기를 엽니다.

2. 보기 탭으로 이동하여 “숨긴 항목” 옆의 체크박스를 선택합니다.

3. 파일 탐색기에서 다음 경로로 이동합니다.

C:\Users\<username>\AppData\Local\Microsoft\Windows\WER\ReportArchive

참고: 만약 해당 위치에서 파일을 찾을 수 없다면, 검색 필드에서 Java.exe를 직접 검색할 수 있습니다. 다만, 여러 유사한 파일 중 올바른 자바 파일을 선택해야 합니다.

4. ReportArchive 폴더 내에서 WER 파일을 마우스 오른쪽 버튼으로 클릭하고, “연결 프로그램” 옵션을 선택합니다.

5. 목록에서 “메모장” 옵션을 선택하고 “확인”을 클릭합니다.

6. 파일의 끝부분으로 이동하여 Java.exe의 위치를 확인하고, 해당 위치로 이동합니다.

7. Java.exe 파일을 마우스 오른쪽 버튼으로 클릭하고 “속성” 옵션을 선택합니다.

8. “속성” 창에서 “호환성” 탭으로 이동하여, “호환 모드에서 이 프로그램 실행” 옆의 체크박스를 선택합니다.

9. 드롭다운 목록에서 Windows 7 또는 8을 선택하고 “적용” 및 “확인”을 클릭하여 변경 사항을 저장합니다. 컴퓨터를 재시작하고, 프로그램을 다시 실행해 보십시오.

방법 3: 환경 변수 구성

운영 체제의 구성 정보는 환경 변수를 통해 응용 프로그램에 전달됩니다. 환경 변수는 키/값 쌍으로 구성되며, 두 값 모두 문자열입니다. 이러한 변수는 문제가 발생하지 않도록 항상 호환되어야 합니다. 최근에 윈도우 PC를 업데이트한 후 자바 TM 플랫폼 SE 바이너리가 작동하지 않는 문제가 발생했다면, 이러한 환경 변수 쌍에 문제가 있을 수 있습니다. 다음 지침에 따라 환경 변수를 재설정해 보십시오.

1. Windows 키를 누르고 “제어판”을 입력한 후, “열기”를 클릭합니다.

2. “보기 기준” 옵션을 “큰 아이콘”으로 설정하고, “시스템”을 클릭합니다.

3. 오른쪽 화면을 아래로 스크롤하여 “고급 시스템 설정”을 클릭합니다. UAC 제어에서 메시지가 표시되면 “예”를 클릭하고 계속 진행합니다.

4. “고급” 탭으로 이동한 후, “환경 변수…”를 클릭합니다.

5. “시스템 변수”에서 “새로 만들기…” 버튼을 클릭합니다.

6. “변수 이름” 상자에 “_JAVA_OPTIONS”를 입력하고, “변수 값” 상자에 “-Xmx256M”을 입력합니다.

7. “확인”을 클릭하여 “새 시스템 변수” 창을 닫습니다.

8. “환경 변수” 창에서 “확인”을 다시 클릭합니다. 이제 OpenJDK 플랫폼 바이너리 응답 없음 문제가 해결되었는지 확인하십시오.

방법 4: 안전 모드에서 앱 실행

앱을 재시작한 후에도 자바 TM 플랫폼 SE 바이너리 작동 중단 문제가 해결되지 않는 경우, 안전 모드에서 앱을 실행해 보십시오. 많은 사용자들이 해당 문제가 특정 도구인 Logitech Process Monitor(lvprcsrv.exe)의 설치 파일 손상으로 인해 발생한다고 보고했습니다. 만약 컴퓨터에 이 앱이 있다면 완전히 제거하십시오. 안전 모드는 자바를 방해하는 모든 프로그램을 비활성화하므로, OpenJDK 플랫폼 바이너리 응답 없음 문제 해결에 도움이 될 수 있습니다. 윈도우 10에서 안전 모드로 부팅하는 방법을 참고하여, 안전 모드에서 문제가 다시 발생하는지 확인하십시오.

PC가 안전 모드에 있으면, 문제가 다시 발생하는지 확인하십시오. 만약 문제가 발생하지 않는다면, 최근에 설치한 프로그램이나 응용 프로그램을 제거해 보십시오.

방법 5: 그래픽 드라이버 업데이트

자바 TM 플랫폼 SE 바이너리 응답 없음 문제가 계속 발생한다면, 그래픽 드라이버가 오래되었거나 손상되었는지 확인해 보십시오. 호환되지 않는 드라이버는 자바 환경과 충돌을 일으킬 수 있습니다. 최신 버전으로 GPU 드라이버를 업데이트하면 이러한 문제를 해결할 수 있습니다. 윈도우 10에서 그래픽 드라이버를 업데이트하는 방법 가이드에 따라 드라이버를 수동으로 업데이트하십시오.

드라이버를 업데이트한 후 컴퓨터를 재부팅하고, 자바 TM 플랫폼 SE 바이너리 작동 중단 문제가 해결되었는지 확인하십시오.

방법 6: 그래픽 드라이버 재설치

여전히 OpenJDK 플랫폼 바이너리가 응답하지 않는다면, 장치 드라이버를 다시 설치하여 비호환성 문제를 해결해 보십시오. 윈도우 10에서 드라이버를 제거하고 다시 설치하는 방법 가이드를 참고하여 그래픽 드라이버를 쉽게 재설치할 수 있습니다.

GPU 드라이버를 재설치한 후, 자바 TM 플랫폼 SE 바이너리가 작동하지 않는 문제가 해결되었는지 확인하십시오.

방법 7: 바이러스 백신을 일시적으로 비활성화 (해당되는 경우)

바이러스 백신 프로그램이 PC에서 응용 프로그램을 실행하는 것을 방해할 수 있습니다. 여러 윈도우 사용자들이 다양한 호환성 문제를 보고하고 있으며, 이러한 문제는 쉽게 식별하고 수정하기 어려울 수 있습니다. 윈도우 10에서 바이러스 백신을 일시적으로 비활성화하는 방법에 대한 가이드를 참고하여 바이러스 백신 프로그램을 일시적으로 비활성화하십시오.

자바 TM 플랫폼 SE 바이너리 응답 없음 문제를 해결한 후에는, 보안에 취약해질 수 있으므로 반드시 바이러스 백신 프로그램을 다시 활성화해야 합니다.

방법 8: Java Web Start로 세션 시작

위에 제시된 모든 방법을 시도해도 자바 TM 플랫폼 SE 바이너리 응답 없음 문제가 해결되지 않으면, Blackboard Collaborate Launcher 앱 대신 시스템에 설치된 Java Web Start 버전을 사용하여 세션을 시작해 볼 수 있습니다. 다음 지침에 따라 시도해 보십시오. 문제가 발생하면 Collaborate 지원 팀에 문의하는 것이 좋습니다.

1. PC의 모든 백그라운드 작업, 특히 Collaborate 세션을 닫습니다.

2. Windows 키를 누르고 “제어판”을 입력한 후, “열기”를 클릭합니다.

3. “보기 기준”을 “큰 아이콘”으로 설정하고, “프로그램 및 기능”을 클릭합니다.

4A. 프로그램 목록에서 자바가 이미 설치되어 있는지 확인합니다.

4B. 만약 자바가 설치되어 있지 않다면, java.com에 방문하여 자바를 설치하십시오.

5. PC에 자바가 설치되어 있는지 확인한 후, 새로운 Collaborate 회의 또는 녹음 파일을 다운로드합니다. 그러나 실행하지는 마십시오.

6. “다운로드” 폴더에서 .collab 파일을 찾아 마우스 오른쪽 버튼으로 클릭한 후, “연결 프로그램” 옵션을 선택합니다.

7. “추가 앱”을 클릭합니다.

8A. 만약 “Java(TM) Web Start Launcher”가 보이면 클릭하고, “.collab 파일을 항상 이 앱으로 열기” 옆의 체크박스를 선택합니다. 그런 다음 “확인”을 클릭합니다.

8B. 만약 목록에 “Java(TM) Web Start Launcher”가 없다면, “이 PC에서 다른 앱 찾기” 옆의 체크박스를 선택합니다. 아래의 지정된 경로로 이동하여 .exe 파일을 클릭하고 “열기”를 선택합니다.

C:\Program Files\java\jreXXX\bin

참고: XXX는 컴퓨터에 설치된 자바 버전에 따른 숫자입니다. 예시는 jre1.8.0_221입니다.

9. 이제 모든 .collab 파일이 Blackboard Collaborate Launcher 대신 Java Web Start를 사용하여 시작됩니다.

10. 마지막으로, 협업 세션 또는 녹음 파일을 실행하고, 응용 프로그램이 문제 없이 실행되는지 확인합니다.

방법 9: Java SE 기반 응용 프로그램 다시 설치

OpenJDK 플랫폼 바이너리 응답 없음 문제가 계속된다면, 자바 기반 응용 프로그램을 다시 설치해 보십시오. 이렇게 하면 PC에서 충돌을 일으키는 모든 문제를 해결하고, 현재 직면하고 있는 문제를 해결할 수 있습니다.

참고: 여기서는 마인크래프트를 다시 설치하는 단계를 예시로 보여드립니다. 다른 앱이나 프로그램의 경우에도 비슷한 방식으로 진행할 수 있습니다.

1. Windows 키 + I 키를 함께 눌러 윈도우 설정을 엽니다.

2. “앱”을 클릭합니다.

3. 마인크래프트 런처를 검색하여 클릭하고 “제거” 옵션을 선택합니다.

4. 메시지가 나타나면 확인하고 마인크래프트를 제거한 후 PC를 재부팅합니다.

5. 마인크래프트 런처 공식 웹사이트를 방문하여 “WINDOWS 10/11용 다운로드” 버튼을 클릭합니다.

6. “다운로드” 폴더에서 마인크래프트 설치 파일(.exe)을 실행합니다.

7. 화면의 지시에 따라 PC에 설치를 완료합니다.

8. 이제 컴퓨터에 마인크래프트 런처가 다시 설치되었습니다. 앱 관련 문제가 모두 해결되었을 것입니다.

방법 10: 이전 자바 버전 제거 (스크립트 사용)

컴퓨터에 이전 버전의 자바가 설치되어 있다면 자바 TM 플랫폼 SE 바이너리 작동 중단 문제를 경험할 수 있습니다. 자바 응용 프로그램 및 보안 개선 사항이 최신 버전으로 업데이트되어 있는지 확인해야 합니다. 아래의 모든 코드를 복사하여 “{PackageShare}\Scripts” 폴더에 “Remove_old_java_versions.ps1″로 저장합니다.

참고: 이 스크립트는 32비트 및 64비트 버전의 자바를 모두 확인하고, 이전 버전을 삭제하여 최신 버전만 남겨둡니다. 이것은 간단한 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))*sd+(sUpdatesd+)*$"
 }
 #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)J2SEsRuntimesEnvironmentsd[.]d(sUpdatesd+)*$") -and ($_.IdentifyingNumber -match "^{32")
 }
} else {
 $32bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java(((TM) 7)|(sd+))(sUpdatesd+)*$"
 }
}
#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))*sd+(sUpdatesd+)*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)J2SEsRuntimesEnvironmentsd[.]d(sUpdatesd+)*$") -and ($_.IdentifyingNumber -match "^{64")
 }
} else {
 $64bitJava += Get-WmiObject -Class Win32_Product | Where-Object {
 $_.Name -match "(?i)Java(((TM) 7)|(sd+))(sUpdatesd+)*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
 }