Приложения на основе Java обычно работают довольно плавно, иногда случаются сбои. Одна из этих наиболее обсуждаемых ошибок - «Двоичный код платформы Java (TM) SE перестал работать«, Свидетелями которого сообщают некоторые пользователи, пытаясь запустить Java-приложения в своих системах. В большинстве случаев причиной является конфликт между драйвером видеокарты и платформой Java. Если вы столкнулись с той же дилеммой, просто выполните следующие исправления.
Оглавление
Исправление 1 - Обновите драйвер видеокарты
Обновление драйвера видеокарты должно работать.
Мы показали, как легко обновить карту NVIDIA. Если вы используете карту Radeon или Intel, шаги разные, но метод аналогичен.
1. Сначала откройте Geforce Experience.
2. Когда откроется GeForce Experience, нажмите на значок «ВОДИТЕЛИ" площадь.
3. После этого нажмите «СКАЧАТЬ“.

Теперь Geforce Experience загрузит последнюю версию драйвера для вашей карты.
4. Как только это будет сделано, нажмите «Экспресс установка“.

Теперь следуйте инструкциям на экране, чтобы завершить установку.
После установки драйвера начать сначала система один раз. Это решит проблему, с которой вы столкнулись.
Исправление 2 - удалите и переустановите Java.
Вы можете удалить и переустановить инструменты Java из своей системы.
Шаг 1
1. Сначала нажмите кнопку Клавиша Windows + X ключи вместе.
2. Затем нажмите «Приложения и функции», Чтобы открыть страницу настроек.

3. Теперь в правой части введите «Ява»В поле поиска.
4. Это откроет список приложений Java в вашей системе.

5. После этого нажмите на меню из трех точек рядом с первым приложением Java и нажмите «Удалить“.
6. Снова подтвердите свое действие, нажав «Удалить“.

Это приведет к удалению приложения Java из вашей системы.
7. Теперь, следуя тому же методу, удалите другие приложения Java из списка.

После этого закройте Настройки.
Шаг 2
Теперь вам нужно загрузить последнюю версию набора инструментов Java и установить ее.
1. Сначала откройте Скачать архив Java раздел.
2. Затем выберите нужную утилиту и версию для загрузки и нажмите на нее.

3. Вы должны войти в систему, используя свои учетные данные Oracle. Это запустит процесс загрузки.

После загрузки закройте окно браузера.
4. После этого, двойной щелчок в загруженном установочном файле.

5. Затем нажмите «Следующий”Для установки различных утилит Java в вашей системе.

Теперь попробуйте использовать приложение на основе Java и проверьте, отображается ли по-прежнему то же сообщение об ошибке или нет.
Исправление 3 - изменение переменных среды
Настройка новых переменных среды должна решить проблему, с которой вы столкнулись в настоящее время.
1. Сначала нажмите кнопку Клавиша Windows + R ключи вместе.
2. Затем введите эту команду UTR и нажмите «В ПОРЯДКЕ“.
sysdm.cpl

Это откроет окно свойств системы.
3. Когда откроется панель «Свойства системы», перейдите к «Передовой”Таб.
4. Здесь нажмите на «Переменные среды ...”.

5. Теперь нажмите «Новый…»Возможность создания новой переменной.

6. Затем поставьте «_JAVA_OPTIONS»В поле имени переменной.
7. После этого введите «-Xmx256M»В разделе значений переменных.
8. Наконец, нажмите «В ПОРЯДКЕ», Чтобы сохранить изменение.

9. Вернувшись на страницу переменных среды, нажмите «В ПОРЯДКЕ», Чтобы сохранить изменения.
10. Наконец, нажмите на «Применять" и "В ПОРЯДКЕ" вариант.

После этого закройте окно свойств системы. В настоящее время, перезагружать машина сразу.
Вы больше не увидите сообщение об ошибке Java в своей системе.
Исправление 4 - Запустить скрипт
Вы можете создать и запустить простой скрипт, чтобы удалить всю старую Java из системы.
1. Сначала запустите Блокнот.
2. Потом, копировать вставить все эти строчки в блокноте.
# Этот скрипт используется для удаления всех старых версий Java и оставления только самых новых. # Оригинальный автор: mmcpherson # Версия 1.0 - создана 24 апреля 2015 г. # Версия 1.1 - обновлена 20 мая 2015 г. # - Теперь также обнаруживает и удаляет старую Java базовые версии без обновления (т.е. версии Java без обновления #) # - теперь также удаляются Java 6 и ниже, а также добавлена возможность вручную изменить это поведение. # - Добавлено поведение по умолчанию при удалении, чтобы никогда не перезагружаться (теперь для удаления используется msiexec.exe) # Версия 1.2 - обновлено 28.07.2015 # - Исправлены ошибки: ошибки нулевого массива и op_addition. # ВАЖНОЕ ПРИМЕЧАНИЕ. Если вы хотите, чтобы версии Java 6 и ниже остались, отредактируйте следующую строку и замените $ true на $ false. $ UninstallJava6andBelow = $ true # Объявить массивы версий $ 32bitJava = @ () $ 64bitJava = @ () $ 32bitVersions = @ () $ 64bitVersions = @() # Выполните запрос WMI, чтобы найти установленные обновления Java if ($ UninstallJava6andBelow) {$ 32bitJava + = Get-WmiObject -Class Win32_Product | Где-Объект {$ _. Имя -match "(? i) Java (\ (TM \)) * \ s \ d + (\ sUpdate \ s \ d +) * $"} # Также найдите версию Java 5, но обрабатывается немного иначе, поскольку бит процессора различен только GUID $ 32bitJava + = Get-WmiObject -Class Win32_Product | Где-Object {($ _. Name -match "(? I) J2SE \ sRuntime \ sEnvironment \ s \ d [.] \ D (\ sUpdate \ s \ d +) * $") -и ($ _. IdentifyingNumber -match "^ \ {32")}} else {$ 32bitJava + = Get-WmiObject -Class Win32_Product | Where-Object {$ _. Name -match "(? I) Java ((\ (TM \) 7) | (\ s \ d +)) (\ sUpdate \ s \ d +) * $ "}} # Выполните запрос WMI, чтобы найти установленные обновления Java (64-разрядные) if ($ UninstallJava6andBelow) {$ 64bitJava + = Get-WmiObject -Class Win32_Product | Где-Объект {$ _. Имя -match "(? i) Java (\ (TM \)) * \ s \ d + (\ sUpdate \ s \ d +) * \ s [(] 64-bit [)] $"} # Также найдите версию Java 5, но обрабатывается немного иначе, поскольку бит процессора различен только GUID $ 64bitJava + = Get-WmiObject -Class Win32_Product | Где-Object {($ _. Name -match "(? I) J2SE \ sRuntime \ sEnvironment \ s \ d [.] \ D (\ sUpdate \ s \ d +) * $") -и ($ _. 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-бит [)] $ "}} # Нумерация и заполнение массива версий Foreach ($ app в $ 32bitJava) {if ($ app -ne $ null) {$ 32bitVersions + = $ app. Версия}} # Нумерация и заполнение массива версий Foreach ($ app в $ 64bitJava) {if ($ app -ne $ null) {$ 64bitVersions + = $ app. Version}} # Создайте массив, который правильно отсортирован по фактической версии (как System. Версия объекта), а не по значению. $ sorted32bitVersions = $ 32bitVersions | % {Система новых объектов. Версия ($ _)} | sort $ sorted64bitVersions = $ 64bitVersions | % {Система новых объектов. Версия ($ _)} | sort # Если возвращается один результат, преобразовать результат в массив с одним значением, чтобы мы не столкнулись с проблемами при вызове .GetUpperBound позже if ($ sorted32bitVersions -isnot [system.array]) {$ sorted32bitVersions = @ ($ sorted32bitVersions)} if ($ sorted64bitVersions -isnot [system.array]) { $ sorted64bitVersions = @ ($ sorted64bitVersions)} # Получите значение самой новой версии из массива, сначала преобразовав $ newest32bitVersion = $ sorted32bitVersions [$ sorted32bitVersions. GetUpperBound (0)] $ newest64bitVersion = $ sorted64bitVersions [$ sorted64bitVersions. GetUpperBound (0)] Foreach ($ app в $ 32bitJava) {if ($ app -ne $ null) {# Удалите все версии Java, в которых версия не соответствует последней версии. если (($ app. Версия -ne $ newest32bitVersion) -and ($ newest32bitVersion -ne $ null)) {$ appGUID = $ app. Свойства ["IdentifyingNumber"]. Значение. ToString () Start-Process -FilePath "msiexec.exe" -ArgumentList "/ qn / norestart / x $ ($ appGUID)" -Wait -Passthru # write-host "Удаление 32-разрядной версии version: "$ app}}} Foreach ($ app в $ 64bitJava) {if ($ app -ne $ null) {# Удалите все версии Java, в которых версия не соответствует новейшей версия. если (($ app. Версия -ne $ newest64bitVersion) -and ($ newest64bitVersion -ne $ null)) {$ appGUID = $ app. Свойства ["IdentifyingNumber"]. Значение. ToString () Start-Process -FilePath "msiexec.exe" -ArgumentList "/ qn / norestart / x $ ($ appGUID)" -Wait -Passthru # write-host "Удаление 64-разрядной версии:" $ app}}}
3. Затем нажмите «Файл"И нажмите на"Сохранить как" вариант.

4. Выберите тип файла как «Все файлыs ».
5. После этого назовите его «Remove_old_java_versions.ps1"И нажмите"Сохранять», Чтобы сохранить сценарий.

После сохранения файла закройте Блокнот.
6. После этого щелкните правой кнопкой мыши на этом значке «Remove_old_java_versions»Сценарий PowerShell и нажмите«Запускаем Powershell“.

Это удалит старую поврежденную установку Java из вашей системы.
Исправление 5 - Очистите кеш Java
Вы должны очистить кеш Java.
1. Сначала введите «Настроить Java»В поле поиска.
2. Затем нажмите на значок «Настроить Java», Чтобы получить к нему доступ.

3. Теперь перейдите к «Общий”Таб.
4. Здесь нажмите на «Настройки…», Чтобы получить к нему доступ.

5. Теперь нажмите на «Удалить файлы...”.
6. Затем нажмите «В ПОРЯДКЕ», Чтобы продолжить.

7. Вернувшись на страницу настроек временных файлов, нажмите «В ПОРЯДКЕ“.

Наконец, когда вы закончите, закройте все окна.
Проверьте, работает ли это решение или нет.
Исправление 6 - Запустите программу в режиме совместимости
Может возникнуть проблема совместимости приложения Java.
1. Сначала зайдите в это место -
C: \ users \% username% \ AppData \ Local \ Microsoft \ Windows \ WER \ ReportArchive
2. Найдите здесь файл журнала ошибок.
3. Затем щелкните правой кнопкой мыши журнал ошибок и нажмите «Открыть с“.

4. Теперь выберите «Блокнот“.

4. Теперь найдите "AppPath“. Таким образом вы узнаете, какой именно файл Java.exe вызвал эту проблему.
Обычно это так
D: \ appname \ подпапка \ ocx \ jre \ bin)
5. Теперь просто перейдите в корневой каталог этого Java-приложения.
6. Затем щелкните правой кнопкой мыши значок «Ява»И нажмите«Характеристики“.

7. Затем перейдите к «Совместимость”Таб.
8. После этого, чек «Запустите эту программу в режиме совместимости для:" вариант.
9. Затем выберите «Windows 8»Из раскрывающегося меню.

10. Затем сохраните это изменение, нажав «Применять" и "В ПОРЯДКЕ“.

После этого выйдите из веб-интерфейса или любой другой службы, которую вы используете. Затем войдите снова.
Попробуйте запустить приложение еще раз и проверьте, работает это или нет. Ваша проблема должна быть решена.