Не удалось загрузить среду выполнения Java
Обновлено: 21.11.2024
Приложение (установленное либо через HomeBrew, либо путем прямой загрузки/установки DMG) в macOS High Sierra не запускается. Он отображает диалоговое окно с сообщением «Невозможно загрузить среду выполнения Java».
Запуск kse.jar с java -jar kse.jar в каталоге /Applications/KeyStore Explorer.app/Contents/Java приводит к следующему:
Если я посмотрю файл MANIFEST.MF, то увижу:
Обратите внимание, что Class-Path указывает, что зависимости находятся в подкаталоге lib , но его нет в папке Java:
Та же схема и ошибка возникает, если я пытаюсь собрать приложение и набор приложений из исходного кода.
В качестве обходного пути я могу создать символическую ссылку ln -s . lib в этом каталоге, а затем приложение запускается при запуске с java -jar kse.jar , но оно по-прежнему не работает при двойном щелчке .app.
Окружающая среда
- Версия KSE: 5.4.0
- Версия Java: 1.8.0_181 (при запуске из командной строки; у меня установлено несколько версий через HomeBrew)
- Платформа (ОС): macOS 10.13.6
Текст был успешно обновлен, но возникли следующие ошибки:
gcbartlett прокомментировал 6 октября 2018 г.
вы можете либо загрузить ZIP-пакет, который включает сценарий оболочки (kse.sh), который также работает в macOS, либо установить JRE из Oracle
Спасибо, Кай. Оба ваших предложения сработали. Очевидно, что последний предпочтительнее, так как позволяет использовать приложение в обычном режиме. Тем не менее было бы хорошо, если бы ему не приходилось полагаться на компонент, установленный при установке Oracle.
kaikramer прокомментировал 10 октября 2018 г.
Я попробовал более новую версию программы запуска, которая используется для запуска KSE в комплекте приложений, и она, кажется, находит среду выполнения Java, установленную через Homebrew. Я включу его в следующий выпуск KSE, но оставлю этот тикет открытым на случай, если он не решит проблему полностью.
комментарий neetkee от 29 октября 2018 г.
Та же ошибка с sdkman java версии 5.4.1
kaikramer прокомментировал 2 ноября 2018 г.
mouse07410 прокомментировал 5 января 2019 г. •
Работает ли текущая версия (5.4.1) с JDK-11.0.1? Кажется, у меня возникли трудности, например, появилось окно «Добавить расширения», но когда я их добавляю, кнопка «ОК» не принимается.
Если быть более точным, загрузка из шаблона кажется нарушенной. Расширения в них не редактируются. Нажимаешь на кнопку "карандаш" и ничего не происходит. Те же самые расширения успешно устанавливаются при вводе без шаблона. Рассматриваемые шаблоны были сохранены KSE-5.2.1 (или даже старше) и успешно использовались с 5.2.1 (до сих пор не помню, использовал ли я их с более поздними версиями).
kaikramer прокомментировал 6 января 2019 г.
@mouse07410 В более ранних версиях KSE были несоответствия в том, как расширения хранились внутри, что приводило к некоторым ошибкам. Эти несоответствия/ошибки исправлены, но шаблоны, хранящиеся в более старых версиях, теперь могут быть несовместимы. Я посмотрю на это, но это точно не связано с JDK11. Кроме того, есть известная (и исправленная в git) ошибка, заключающаяся в том, что кнопка «Использовать стандартный шаблон» ничего не делает, что также не связано с JDK11.
kjjaeger прокомментировал 6 февраля 2019 г.
Я вижу это как в Amazon Corretto 8, так и в AzulSystems Zulu 8 (обе сертифицированные версии Java 8). Я могу увидеть их, используя /usr/libexec/java_home -V
Соответствие виртуальным машинам Java (2):
1.8.0_202-zulu-8.36.0.1, x86_64: "Zulu 8" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
1.8.0_202, x86_64: "Amazon Corretto 8" /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
Когда я запускаю Keystore Explorer из командной строки, перейдя в KeyStore Explorer.app/Contents/MacOS и запустив ./"KeyStore Explorer", я получаю следующее:
2019-02-05 19:42:05.279 KeyStore Explorer[38823:8385153] NSString *findJavaDylib(NSString , _Bool, _Bool, _Bool, _Bool) Поиск JRE.
2019-02-05 19:42:05.280 KeyStore Explorer[38823:8385153] NSString findJREDylib(int, _Bool, _Bool) Исключение поиска JRE: «путь запуска недоступен»
2019-02 -05 19:42:05.350 KeyStore Explorer[38823:8385153] NSString findJDKDylib(int, _Bool, _Bool) Исключение поиска JDK: ' -[__NSCFString substringFromIndex:]: Индекс 9223372036854775811 выходит за пределы допустимого диапазона; длина строки 59'
2019-02-05 19:42:05.350 KeyStore Explorer[38823:8385153] NSString *findJavaDylib(NSString *, _Bool, _Bool, _Bool, _Bool) Соответствующие JRE или JDK не найдены.
2019-02-05 19:42:05.350 KeyStore Explorer[38823:8385153] int launch(char *, int, char **) Launchpath: (null)
2019-02-05 19:42 :05.354 KeyStore Explorer[38823:8385153] int launch(char *, int, char **) Ошибка запуска JVM Runtime ((null)) Относительный путь: '(null)' (dylib: (null))
error : Не удалось загрузить среду выполнения Java.
Это происходит, если установлены один, другой или оба Amazon Corretto 8 или Zulu 8.
kjjaeger прокомментировал 6 февраля 2019 г.
Я также попробовал AdoptOpenJDK jdk8u202-b08 (вручную разархивированный в /Library/Java/JavaVirtualMachines). Возникает точно такая же ошибка.
Интересно, что AdoptOpenJDK jdk-11.0.2+9 работает нормально, хотя и с некоторыми предупреждениями:
2019-02-05 20:02:50.498 KeyStore Explorer[41895:8401189] NSString *findJavaDylib(NSString *, _Bool, _Bool, _Bool, _Bool) Поиск JRE.
2019-02-05 20:02:50.499 KeyStore Explorer[41895:8401189] NSString *findJREDylib(int, _Bool, _Bool) Исключение поиска JRE: «путь запуска недоступен»
2019-02-05 20:02:50.568 KeyStore Explorer[41895:8401189] int launch(char *, int, char **) Путь запуска: /Library/Java/JavaVirtualMachines/jdk-11.0.2+9/Contents/Home/lib/jli/libjli .dylib
2019-02-05 20:02:50.577 KeyStore Explorer[41895:8401198] NSString *findJavaDylib(NSString *, _Bool, _Bool, _Bool, _Bool) Поиск JRE.
2019-02-05 20:02:50.577 KeyStore Explorer[41895:8401198] NSString *findJREDylib(int, _Bool, _Bool) Исключение поиска JRE: «путь запуска недоступен»
2019-02-05 20:02:50.642 KeyStore Explorer[41895:8401198] int launch(char *, int, char **) Путь запуска: /Library/Java/JavaVirtualMachines/jdk-11.0.2+9/Contents/Home/lib/jli/libjli .dylib
ВНИМАНИЕ: Произошла незаконная операция рефлексивного доступа
ВНИМАНИЕ: Незаконный рефлексивный доступ со стороны org.kse.gui.MacOsIntegration (файл:/Users/jaegerk/Applications/KeyStore%20Explorer.app/Contents/ Java/kse.jar) в конструктор com.apple.eawt.Application()
ВНИМАНИЕ: Пожалуйста, сообщите об этом специалистам по сопровождению org.kse.gui.MacOsIntegration
ВНИМАНИЕ: Используйте --illegal-access =warn, чтобы включить предупреждения о дальнейших незаконных операциях отражающего доступа
ВНИМАНИЕ: все незаконные операции доступа будут запрещены в будущем выпуске
При открытии любого приложения Adobe возникает ошибка «вам необходимо установить устаревшую среду выполнения Java SE 6».
В Mac OS 10.7 (Lion) и более поздних версиях среда выполнения Java больше не устанавливается автоматически как часть установки ОС. Выполните любой из приведенных ниже способов, чтобы установить среду выполнения Java.
Способ 1
Вы можете загрузить и установить последнюю версию среды выполнения Java с веб-сайта Java — Загрузить бесплатное программное обеспечение Java.
В Mac OS 10.10 (Yosemite) при запуске любого продукта Adobe может появиться предупреждение "Приложение было перемещено, и его путь был изменен".
Нажмите кнопку «Восстановить сейчас» или «Обновить», чтобы обновить местоположение и решить проблему. При появлении запроса на ввод пароля введите системный пароль для завершения.
Метод 2
Если среда выполнения Java не установлена, вам будет предложено установить ее при первом запуске любого продукта Adobe. Для установки следуйте инструкциям на экране в диалоговом окне уведомления о необходимости Java.
Способ 3 (Mac OS 10.7 и 10.8)
Используйте следующий метод, чтобы инициировать установку среды выполнения Java или подтвердить ее установку.
Если Java не установлена, вы получите следующее сообщение: "Чтобы открыть "Настройки Java", вам нужна среда выполнения Java. Установить ее сейчас?"
Многие приложения Adobe зависят от среды выполнения Oracle Java (JRE) для работы некоторых функций. Apple недавно изменила способ включения Java в Mac OS, а в Lion Java больше не предустанавливается. Теперь это необязательная установка, которую вы должны выбрать.
Поскольку текущие установщики и приложения Adobe были созданы Apple до внесения этих изменений, программное обеспечение Adobe предполагает наличие установленной Java. Adobe и Apple совместно работали над тем, чтобы вы могли установить Java во время установки ОС. Или его можно установить позже, перед установкой приложений Adobe. Во время выполнения, когда вы запускаете приложение Adobe, вам будет предложено установить Java, если она еще не установлена.Если вы не установите Java перед запуском приложения Adobe, функции могут отсутствовать или работать некорректно. Если у вас возникнут какие-либо проблемы, установите Java, чтобы устранить проблемы. Adobe рекомендует корпоративным ИТ-организациям предварительно установить Java (или убедиться, что Java может быть установлена через их брандмауэры/систему безопасности), чтобы избежать конфликтов с приложениями Adobe.
Если среда выполнения Java не установлена, известны некоторые проблемы, которые могут возникнуть:
Как исправить ошибку «Среда выполнения Java не найдена»В этом посте мы решим проблему «Ошибка Java Runtime Environment не найдена». Эта ошибка Java является одной из распространенных ошибок, с которыми сталкиваются разработчики или конечные пользователи. Всякий раз, когда вы пытаетесь установить любое программное обеспечение, требующее Java, например, eclipse или Minecraft. Кроме того, если вы новичок в разработке Java, вам необходим JDK или Java Development Kit.
Следование этому руководству поможет вам устранить все ошибки времени выполнения Java. Кроме того, вы научитесь устанавливать, удалять и устанавливать переменные Java в Windows10 и Ubuntu.
Это очень распространенные ошибки, связанные с Java.
- среда выполнения Java не найдена
- среда выполнения Java не найдена в Windows 10
- среда выполнения eclipse java не найдена
- среда выполнения eclipse java не найдена пути
- среда выполнения Java SE не найдена
- Среда выполнения Java не найдена в bin javaw.exe
- не удалось загрузить среду выполнения Java
- не удается определить действительный дом Java
- среда выполнения Java не найдена mac
Давайте сначала разберемся с некоторыми основными понятиями среды выполнения Java
Оглавление
что такое среда выполнения
Целью будет JRE или CLR для вашей программы, решать вам. Как только вы запускаете любую программу, она находится в режиме выполнения.
JRE и JDK
В чем причины ошибки «Среда выполнения Java не найдена»
- В вашей системе не установлена Java
- Установка Java не завершена (из-за ошибок)
- Переменные среды Java не установлены
- Конфликт Java из-за установки более одной среды выполнения Java
Поскольку JRE зависит от платформы, я рассмотрел установку Java, настройку переменных и удаление как для Windows, так и для Ubuntu.
Выберите Windows 10 или Ubuntu 20.04 из сообщения и следуйте пошаговым инструкциям, чтобы решить проблемы с Java.
Загрузка Java
Перед установкой сначала нам нужно скачать java -
Шаг 1
Пошаговая установка среды выполнения Java
Давайте решим 1-ю причину "Среда выполнения Java не найдена", поскольку java не установлена.
Шаг 2
Сначала проверьте наличие предустановленной версии Java -
Откройте командную строку с помощью "Запуск от имени администратора" и запустите команду java.
Как установить среду выполнения Java в Windows 10
Шаг 3
После завершения загрузки. Перейдите к файлу «jdk-15.0.1_windows-x64_bin.exe» и дважды щелкните его, чтобы запустить программу установки. Нажмите кнопку "Далее.
Шаг 4
Я рекомендую оставить "C:\Program files\java\jdk-15.0.1 (64-разрядная версия)" в качестве папки установки по умолчанию. Выберите Далее.
Вы также можете выбрать другую папку для установки. Например, если вы устанавливаете второй экземпляр программного обеспечения Java. Нажмите «Изменить» и найдите целевую папку.
Шаг 5
Дождитесь завершения установки, это может занять несколько минут.
Шаг 6
Нажмите закрыть. Теперь вы закончили установку Java в Windows 10.
Как установить переменную среды для Java в Windows 10
Установите переменную среды для Java в Windows 10, выполнив следующие действия:
Шаг 7
Введите "среда" в окне поиска. Нажмите "открыть" в разделе "Изменить системные переменные среды"
.
Шаг 8
Нажмите Переменные среды.
Шаг 9
Выберите "Путь" > Затем нажмите "Изменить".
Шаг 10
Выберите «Создать» > «Укажите путь к каталогу установки java» > Например, «C:\Program files\java\jdk-15.0.1\bin» в моем случае. Если вы выбрали другую папку для установки Java на шаге 4. Вы можете ввести свой путь до папки bin.
Нажмите "ОК".
Шаг 11
Установите «путь к классам» для java. Нажмите «Создать» в окне переменных среды. Это позволяет установить новую переменную среды.
Шаг 12
В поле "Имя переменной" введите "путь к классам". Также в "значение переменной" укажите путь к вашей установке java до папки "lib". В моем случае это "C:\program files\java\jdk-15.0\lib > Выберите OK
Закройте все открытые окна переменных среды, нажав кнопку ОК.
Как проверить, какая у меня версия Java?
Переменные установки и Java настроены. Теперь давайте проверим установку и версию Java.
Шаг 13
Откройте командную строку с правами «запуск от имени администратора» в Windows 10.
Шаг 14
Выполните команду "java", чтобы проверить версию Java и JRE (Java Runtime Environment).
Проверьте версию java SDK с помощью команды javac
Видеоруководство — ошибка JRE устранена для Windows
Исправлена ошибка «Среда выполнения Java не найдена» для Windows 10
Как удалить Java из Windows 10
В случае, если вас не устраивает ваша старая версия Java или JRE и вы хотите установить новую. Для этого вам нужно удалить старую версию Java.
Удалить Java из Windows 10 довольно просто. Выполните следующие действия, чтобы удалить Java из вашей системы.
Шаг 15
Найдите добавление или удаление программ и нажмите "Открыть"
Шаг 16
Выберите программу Java и нажмите «Удалить».
Программное обеспечение Java будет запущено из окна. Вы также можете очистить переменные Java, настроенные на шагах 10 и 11 ранее.
Как установить среду выполнения Java в Ubuntu 20.04
Есть два способа загрузить и установить Java или JDK в Ubuntu 20.04
A.) Использование команды apt
B.) Загрузите пакет Oracle JDK и установите его вручную
Давайте рассмотрим оба варианта один за другим-
A.) Как установить Java или JRE в Ubuntu 20.04 с помощью команды apt
Чтобы установить Java в Ubuntu с помощью репозитория, выполните следующие команды
Шаг 17
Обновить индекс пакета с помощью команды apt
Шаг 18
Проверьте, не установлена ли в вашей системе старая версия Java. В моем случае Java не установлена.
вывод
Шаг 19
Выполните команду "apt", чтобы установить Java или JRE. Я установлю default-jre версии 2:1.11-72 в своей системе Ubuntu из списка.
Выберите "Y" и нажмите Enter. Дайте установке завершиться. это займет несколько минут.
Шаг 20
Проверить версию Java
вывод
Как удалить Java из Ubuntu 20.04
Шаг 21
Выполните команду apt, чтобы удалить установленный пакет JRE. Нажмите Y, а затем введите.
B.) Как установить последнюю версию Java или JDK в Ubuntu 20.04 из оракула (вручную)
Шаг 22
Этапы загрузки Java JRE —
Кроме того, вы можете загрузить Java с помощью команды wget.
Справочный вывод
Шаг 23
При необходимости переименуйте файл .deb с помощью команды mv. Затем установите пакет Debian с помощью команды dpkg.
вывод
Путь к каталогу установки java по умолчанию: "/usr/lib/jvm/jdk-15.0.1/".Итак, запишите это, так как потребуется установить переменную Java_HOME.
Как установить переменную JAVA_HOME в Ubuntu 20.04
Установите переменную JAVA_HOME для всех пользователей в Ubuntu, отредактировав файл среды.
Шаг 24
Редактировать файл /system/environment
Добавьте путь "/usr/lib/jvm/jdk-15.0.1/bin" к последнему файлу среды. Затем сохраните и выйдите.
Запустите исходную команду, чтобы выполнить изменения, сделанные в файле среды.
Шаг 25
Проверьте версию Java
Удалить пакет среды выполнения Java с помощью команды dpkg
Шаг 26
Запустите команду dpkg с параметром --purge, чтобы полностью очистить Java от Ubuntu 20.04
Видеоучебник — ошибка JRE устранена для Ubuntu
Видео на тему "Как исправить ошибку среды выполнения Java в Ubuntu 20.04"
Для просмотра этого видео включите JavaScript и рассмотрите возможность перехода на веб-браузер, поддерживающий видео в формате HTML5
При установке RPM-файла JRE 1.8.0 на хосте Linux, где ранее была установлена более ранняя версия RPM-файла JRE, могут возникнуть проблемы. Предыдущие выпуски JRE могут оставлять файлы и каталоги, которые конфликтуют с об/мин 1.8.0 и вызывают ошибку, например:
Это поведение можно переопределить с помощью флага --force, который игнорирует конфликты пакетов и файлов.
Пример: rpm -i --force jre-1.8.0-fcs.x86_64.rpm
Область: Установка / Solaris
Во время установки пакетов SUNWj8rt и SUNWj8dev в Solaris могут возникать ошибки chksum, приводящие к частичному сбою установки, например:
Несмотря на то, что допустимые ошибки контрольной суммы могут возникать по другим причинам, описанные выше ошибки ограничиваются определенными сетевыми конфигурациями, которые считаются редкими.
Ошибки не влияют на основные функции. Установка успешно завершена.
Область: Установка / Windows
Флажок "Включить Java Access Bridge" удаляется из панели управления (перейдите в Панель управления -> Центр специальных возможностей -> Использовать компьютер без дисплея) при удалении 64-разрядной версии JRE 8, даже если существует 32-разрядная версия JRE 7u6 или более поздняя. Обходной путь — удалить существующую 32-разрядную JRE и установить ее снова. Флажок "Включить Java Access Bridge" появится после установки 32-разрядной версии JRE 7u6 или более поздней.
Область: развертывание
Если приложение использует RMI и работает в ограниченной среде (например, подключаемый модуль Java, Java Web Start), оно может не работать. В частности, если вы запускаете пользовательский интерфейс из обратного вызова RMI, скорее всего, будет выдано исключение NullPointerException.
Область: развертывание
В некоторых случаях панель управления Java сообщает о версии платформы JRE как 1.7 вместо 1.8 при обновлении более старой версии JRE по тому же пути. Это не должно повлиять на пользователей Windows или Linux, но может повлиять на пользователей Mac OS X. Если апплет запрашивает версию 1.8 в файле JNLP или теге апплета HTML, то апплет дает сбой или загружает ресурсы для более старой JRE, чем предполагалось. Чтобы обойти эту проблему, либо удалите файл deployment.properties, либо отредактируйте файл deployment.properties и удалите запись JRE.
Область: Развертывание / Mac OS X
При работе в OS X 10.9 некоторые действия в панели управления Java, требующие прав администратора, не работают должным образом. В настоящее время это влияет на две функции: отключение подключаемого модуля Java и отключение автоматической проверки обновлений. Плагин будет отключен для текущего пользователя, если диалог авторизации будет отменен, поэтому пользователи по-прежнему могут отключить его, но каждый пользователь в системе должен будет сделать это индивидуально. Обходной путь для отключения автоматической проверки обновлений неизвестен.
Область: Развертывание / подключаемый модуль
Использование CLSID семейства для запуска загрузки апплета не работает с некоторыми версиями семейства JRE.
Если вы используете CLSID семейства для запуска загрузки апплета с определенной версией семейства JRE, CLISD семейства будет игнорироваться, и вместо этого для загрузки апплета будет использоваться последняя версия JRE, установленная в вашей системе. Семейство CLSID специфично для Internet Explorer. Обходной путь заключается в использовании вместо этого параметра апплета j ava_version или атрибута версии элемента Java в файле JNLP.
Область: Развертывание / подключаемый модуль
Регрессия: возникает исключение JARSigningException при использовании jarsigner 7u.
Файлы JAR, подписанные с помощью jarsigner из Java SE 1.4 или более ранних версий, не будут подписаны должным образом, если они содержат файлы ресурсов в формате META-INF, например лицензионные документы или изображения.
В целях безопасности такие файлы JAR больше не считаются правильно подписанными.В настоящее время апплеты, использующие эти JAR-файлы, не загружаются без указания причины для конечного пользователя.
Единственным обходным решением является повторная подпись JAR с помощью текущей версии jarsigner.
Область: Развертывание / подключаемый модуль
Для подписанных jar-файлов без атрибута манифеста «Разрешения» перед диалоговым окном «Ошибка приложения» (или «Заблокировано») по-прежнему отображается диалоговое окно с предупреждением о безопасности.
Если подписанный основной файл JAR не содержит обязательного атрибута «Разрешения» в файле манифеста, приложение должно быть заблокировано. Однако сначала отображается диалоговое окно безопасности, запрашивающее у пользователя разрешение на запуск приложения, прежде чем приложение будет заблокировано.
Область: Развертывание / подключаемый модуль
Если у пользователя для свойства deployment.security.level задано значение СРЕДНИЙ при использовании JDK 7, это свойство автоматически обновляется до ВЫСОКОГО при первом использовании JDK 8 для запуска любого кода развертывания. Однако, если для свойства deployment.security.level также задан параметр конфигурации системы, обновление до ВЫСОКОГО не выполняется. Ресурс можно обновить вручную с помощью панели управления Java.
Область: Развертывание / подключаемый модуль
Загрузка приложения занимает много времени после принятия диалогового окна с несколькими щелчками, вызванного "невозможно получить доступ к сайту отзыва сертификата"
Пользователь может отключить проверку отзыва сертификата с помощью панели управления Java:
- Выберите вкладку "Дополнительно".
- Найдите параметр Выполняет проверки отзыва сертификата
- Установите значение Не проверять (не рекомендуется)
Область: развертывание / веб-старт
Javaws не может переключиться в автономный режим запуска приложения, если приложение не может быть запущено онлайн.
Команде javaws не удается запустить кэшированное приложение, если система находится в автономном режиме, даже если в файле JNLP приложения есть указанный элемент. В качестве обходного пути пользователи могут:
- Запуск Javaws явным образом с помощью команды javaws -offline
- Запустите кешированное приложение с помощью Java Cache Viewer
Область: Основные библиотеки / java.lang.reflect
Типовые аннотации для класса или члена этого класса удаляются, если класс переопределяется с использованием, например, JVMTI или классов в java.lang.instrument .
Область: Основные библиотеки / java.lang.reflect
Массив, возвращаемый методом Class.getMethods(), может включать методы, не являющиеся членами класса. Массив может включать методы из суперинтерфейсов, которые имеют более конкретное соответствие в другом суперинтерфейсе.
Область: Основные библиотеки / java.lang.reflect
В некоторых сценариях массив, возвращаемый вызовом метода Class.getMethods(), может включать методы по умолчанию, не являющиеся членами класса. В частности, могут быть включены методы по умолчанию из суперинтерфейсов, которые имеют более конкретный метод.
На платформах Windows стек IPv4 необходимо настроить в дополнение к стеку IPv6, чтобы стек IPv6 работал. Дополнительную информацию о настройке IPv6 см. в Руководстве пользователя Networking IPv6.
Область: основные службы/отладчик
В настоящее время невозможно программно вызвать методы интерфейса по умолчанию с помощью JDI API. Методы интерфейса по умолчанию — это новая функция JDK 8, и спецификация JDI еще не обновлена для работы с этой функцией.
Область: клиентские библиотеки
Было обнаружено, что некоторые функции Windows GDI поддерживают не все типы схем распределения памяти кучи Java. Эта проблема может вызвать проблемы с перерисовкой и ошибки печати. Затронутые флаги JVM: -XX:+UseLargePages и -XX:+UseNUMAInterleaving . Проблему можно обойти, отключив перечисленные флаги.
Область: Клиентские библиотеки / java.swing
В Mac OS X элемент управления ComboBox использует клавиши Esc и Enter. Когда поле со списком в диалоговом окне имеет фокус, клавиатуру нельзя использовать для закрытия диалогового окна.
Область: JavaFX/узел Swing
Класс SwingNode не поддерживает дисплеи с высоким разрешением.
Область: JavaFX / Packager Tool
Инструмент упаковщика JavaFX в некоторых случаях создает действительный установщик .exe, но недопустимый установщик .msi в Windows x64.
Область: JavaFX/ввод без использования мыши
Функции обхода без мыши не работают должным образом в нередактируемом поле со списком в следующих случаях:
- Когда ComboBox находится в фокусе и имеет соседний элемент управления справа, нажатие клавиши со стрелкой вправо приводит к тому, что исходный ComboBox теряет фокус, однако целевой ComboBox не получает фокус. Чтобы целевое поле со списком получило фокус, необходимо нажать клавишу со стрелкой вправо еще раз.
- Когда выбрано любое поле со списком, нажатие клавиши со стрелкой вверх или вниз показывает, что интерактивный режим включен, когда ожидается режим хода.
Область: JavaFX/Linux
У Конструктора сцен возникают проблемы с перерисовкой в Linux, когда машина была активирована после приостановки.
Область: Security Libs
Если файл jar подписан, но сертификат подписавшего включает расширение KeyUsage, которое не позволяет подписывать код, программа jarsigner распечатывает предупреждение, но при этом обрабатывает файл как подписанный. На самом деле, поскольку проверка KeyUsage выполняется внутри анализа JarFile, jarsigner теперь просто обрабатывает файл как неподписанный без предупреждения.
Область: Security Libs / javax.crypto / Solaris
При использовании поставщика OracleUcrypto для шифрования AES/GCM/NoPadding может возникнуть неожиданное исключение IllegalBlockSizeException в Solaris 11 и более поздних версиях.
Доступны следующие обходные пути:
- Отключите реализацию GCM от поставщика OracleUcrypto, добавив строку "Cipher.AES/GCM/NoPadding" в раздел disabledServices в файле конфигурации поставщика, например, /lib/security/ucrypto-solaris.cfg . ли>
- Отключите поставщика OracleUCrypto и вместо этого используйте реализацию SunJCE GCM, используя один из следующих методов. Имейте в виду, что этот обходной путь отключает все службы, предоставляемые OracleUcrypto.
- Статически: отредактируйте файл /lib/security/java.security.
- Динамически: используйте API java.security.Security.removeProvider("OracleUcrypto").
Область: Security Libs / javax.crypto / Solaris
Доступны следующие обходные пути:
- Отключите реализацию GCM от поставщика OracleUcrypto, добавив строку "Cipher.AES/GCM/NoPadding" в раздел disabledServices в файле конфигурации поставщика, например, /lib/security/ucrypto-solaris.cfg . ли>
- Отключите поставщика OracleUCrypto и вместо этого используйте реализацию SunJCE GCM, используя один из следующих методов. Имейте в виду, что этот обходной путь отключает все службы, предоставляемые OracleUcrypto.
- Статически: отредактируйте файл /lib/security/java.security.
- Динамически: используйте API java.security.Security.removeProvider("OracleUcrypto").
При использовании обмена ключами клиента RSA в протоколах SSL/TLS поставщик SunJSSE не может работать в режиме, совместимом с FIPS 140. Эта проблема не влияет на режим SunJSSE по умолчанию.
Простым обходным решением является отключение режима FIPS поставщика SunJSSE.
Альтернативный обходной путь — отключить использование обмена ключами RSA в протоколах SSL/TLS. Эта проблема возникает только с наборами шифров SSL/TLS на основе обмена ключами RSA. Чтобы обойти эту проблему, приложения могут вместо этого использовать наборы шифров DHE/ECDHE (например, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA и т. д.). Сведения о настройке наборов шифров SSL/TLS см. в Справочном руководстве JSSE.
Область: HotSpot/компилятор
При использовании значений степени 2 производительность Math.pow снижается. Используйте код, аналогичный следующему примеру, чтобы обойти эту проблему:
Область: Инструменты
Область: Инструменты/javac
ElementType.TYPE_USE введен в JDK 8 и должен рассматриваться как логическое надмножество ElementType.TYPE и ElementType.ANNOTATION_TYPE . Однако в настоящее время команда javac не распознает ElementType.TYPE_USE как надмножество.
Область: Инструменты/javac
Из-за изменения спецификации вывода типов в JDK 8 программы, подобные приведенному в следующем примере, не принимаются командой javac:
Область: Инструменты/javac
Смешение лямбда-выражений и внутренних классов, как в следующем примере, может привести к сбою инструмента javac.
Обратите внимание, что эта программа компилируется правильно, если A является известным идентификатором.
Область: Инструменты/javac
Неправильная таблица исключений создается для кода, содержащего несколько операторов catch внутри лямбда-выражения. В следующем примере показан тип кода, который вызывает такое поведение:
Сгенерированная таблица исключений для метода main() содержит следующую информацию:
Избегайте использования нескольких операторов catch внутри лямбда-тел, пока эта проблема не будет устранена.
Область: Инструменты/пусковая установка
Чтобы преодолеть несовместимое изменение в VisualStudio 2010 с помощью setargv.obj , средство запуска Java использует собственный синтаксический анализатор/процессор аргументов, как указано в примечаниях к выпуску для 7146424 в примечаниях к выпуску обновления 4 для Java SE 7.
Побочным эффектом вышеуказанного исправления является то, что экранирование кавычек и пробелов должно выполняться в соответствии со спецификацией Windows. В следующих примерах показано, как правильно заключать в кавычки командную строку, содержащую пробелы в каталоге:
-
"c:\Program Files\Java\jdk1.8.0\bin\java.exe" -cp "c:\Some Dir\" SomeMain
В этом примере правильно используются кавычки. Таким же образом интерпретатор команд Windows ( cmd.exe ) автоматически завершает пользовательские команды и заключает аргументы в кавычки.
Область: Java DB
Может потребоваться дополнительное разрешение для запуска сетевого сервера Java DB. В частности, сценарии запуска могут не загрузить сетевой сервер.
При попытке загрузки сетевой сервер может выйти из строя и вызвать следующую ошибку:
Чтобы устранить эту проблему, необходимо запустить сетевой сервер с политикой безопасности, включающей отсутствующее разрешение. Вместо загрузки сетевого сервера как:
загрузите сетевой сервер следующим образом:
где $ — это файл, содержащий настроенную версию файла политики, описанного в разделе Руководства администратора базы данных Java, озаглавленном Базовая политика безопасности сетевого сервера. Вы должны настроить этот общий файл политики в соответствии с вашим приложением. Кроме того, вы должны добавить следующее разрешение в блок разрешений, предоставленный кодовой базе $derbynet.jar:
где $ следует заменить на номер порта, на котором сетевой сервер прослушивает входящие запросы на подключение. По умолчанию это порт 1527.
Дополнительную информацию о политиках безопасности базы данных Java см. в разделах руководства администратора по базе данных Java, озаглавленных Безопасность сетевого сервера и Запуск сетевого сервера под управлением администратора безопасности.
Если вы используете репликацию, аналогичное разрешение должно быть предоставлено политике безопасности подчиненного сервера. Добавьте следующее разрешение в кодовую базу $derby.jar:
где $ следует заменить на номер порта, на котором подчиненный сервер прослушивает входящие запросы на подключение (обычно 4851). Дополнительную информацию о политике безопасности подчиненного сервера см. в разделе «Руководство по администрированию и серверу БД Java», озаглавленном «Репликация и безопасность».
Устранены известные проблемы
Следующий список включает известные проблемы из предыдущих выпусков, которые были решены в JDK 8.
Область: Установка
[macosx] Запланированное AU — автоматическое обновление на Mac 10.9 невозможно
В Mac OS 10.9 при запуске запланированного (автоматического) обновления Java программа установки может перестать отвечать на запросы.
Область: HotSpot / gc
Сбои из-за невозможности выделить большие страницы.
В Linux сбои при выделении больших страниц могут привести к сбоям. При использовании JDK 7u51 или более поздних версий проблему можно распознать двумя способами:
Перед тем, как произойдет сбой, в журнал будут напечатаны одна или несколько строк, подобных следующему примеру:
Если создается файл с именем hs_err, он будет содержать строку, подобную следующему примеру:
Проблемы можно избежать, запустив программу с отключенной поддержкой больших страниц, например, передав параметр "-XX:-UseLargePages" бинарному файлу java.
Увлеченный технологиями, Windows и всем, что имеет кнопку питания, он тратил большую часть своего времени на развитие новых навыков и изучение мира технологий. Исходя из солидного фона на ПК. Подробнее
- Если у вас установлена более старая версия программного обеспечения JRE, может появиться ошибка Java Runtime.
- Если вам интересно, как исправить проблемы с Java, вам может помочь переустановка.
- Чтобы исправить ошибку Среда выполнения Java не найдена, убедитесь, что у вас установлена последняя версия Java.
- Загрузите версию JRE, соответствующую типу вашей системы, чтобы вам не приходилось решать другие проблемы с Java.
Для решения различных проблем с ПК мы рекомендуем Restoro PC Repair Tool:
Это программное обеспечение устраняет распространенные компьютерные ошибки, защищает вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует работу вашего ПК для достижения максимальной производительности. Решите проблемы с ПК и удалите вирусы за 3 простых шага:- Загрузите Restoro PC Repair Tool, который поставляется с запатентованными технологиями (патент доступен здесь).
- Нажмите «Начать сканирование», чтобы найти проблемы Windows, которые могут вызывать проблемы с ПК.
- Нажмите «Исправить все», чтобы устранить проблемы, влияющие на безопасность и производительность вашего компьютера.
- В этом месяце Restoro скачали 0 читателей.
Комплект Java Development Kit (JDK), виртуальная машина Java (JVM) и среда выполнения Java (JRE) составляют три компонента платформы Java для разработки и запуска приложений Java.
Среда выполнения – это часть программного обеспечения, предназначенная для запуска другого программного обеспечения. В качестве среды выполнения для Java JRE содержит библиотеки классов Java, загрузчик классов Java и JVM.
Поэтому, если у вас не установлена JRE или у вас более старая версия программного обеспечения, вы можете увидеть одно из следующих сообщений:
- Ошибка: не удалось найти среду выполнения Java SE — в вашей системе не установлена версия Java SE
- Для этого приложения требуется среда выполнения Java версии 1.x или выше. Вам следует обновить версию Java до последней версии, которую можно найти на официальном веб-сайте.
- Для запуска этого приложения должна быть доступна Java Runtime Environment (JRE) или Java Development Kit (JDK). Как и в случае с первой ошибкой, проверьте, установлены ли у вас JRE или JDK, а если нет, установите их.
В сегодняшнем руководстве мы рассмотрим самые эффективные и простые методы, которые можно попробовать в этой ситуации.Читайте дальше, чтобы узнать больше.
Как исправить ошибку времени выполнения на Java?
1. Запустите средство устранения неполадок Windows
- Выберите «Пуск» и нажмите «Настройки».
- В следующем меню выберите «Обновление и безопасность» и нажмите «Устранение неполадок».
- Выберите тип устранения неполадок, который вы хотите запустить, затем выберите Запустить средство устранения неполадок.
- Запустите средство устранения неполадок, а затем ответьте на любые вопросы на экране. ол>р>
Если вы видите сообщение о том, что никаких изменений или обновлений не требуется, вы можете попробовать варианты восстановления. Это встроенный в Windows 10 инструмент устранения неполадок.
2. Загрузить среду выполнения Java (JRE)
Ширина-
с официального сайта.
- Просмотрев приведенный выше список, выберите, нужна ли вам 32-разрядная или 64-разрядная архитектура JRE.
- Нажмите кнопку "Принять и загрузить", чтобы начать загрузку.
- Щелкните правой кнопкой мыши загруженный установочный файл JRE.
- Выберите «Запуск от имени администратора» и примите запрос на установку.
- В следующем окне вы можете изменить папку назначения или оставить папку по умолчанию.
- После выбора просто нажмите кнопку «Установить», чтобы завершить установку.
- Вы получите сообщение об успешной установке. Нажмите «Закрыть», чтобы завершить установку, и закройте окно. ол>р>
Если вы не знаете, какая версия Java является правильной версией для вашей системы, вы можете узнать это, выполнив поиск Cortana по термину «Информация о системе».
Вы должны открыть первый вариант, появившийся после поиска, а затем проверить значение в разделе Тип системы (32-разрядная или 64-разрядная версия).
3. Установите среду выполнения Java (JRE)
Мы рекомендуем вам проверять наличие нового обновления Java каждый раз, когда вы сталкиваетесь с этой проблемой. Программное обеспечение не будет обновляться автоматически, поэтому вам придется выполнить эту задачу вручную.
Вот и все. Теперь на вашем ПК должна быть установлена последняя версия Java Runtime Environment, и вы больше не должны получать сообщение об ошибке.
Напишите нам в комментариях ниже, помогли ли вам эти решения или есть какие-либо другие предложения, которые мы должны включить в нашу статью.
По-прежнему возникают проблемы? Исправьте их с помощью этого инструмента:
Читайте также: