Открытие файла JNLP в Java 6 JRE вместо JRE 7

У меня есть Java-приложение Java Web Start, которое нужно открыть на компьютере под управлением Windows. На машине установлена ​​JRE 7, а JRE 6 скопирована вручную в папку Program Files. Проблема в том, что всякий раз, когда я хочу открыть приложение JWS, он открывается с использованием Java 7. Даже если я использую исполняемый файл javaws из JRE 6, некоторые свойства по-прежнему относятся к файлам JRE 7 (я проверил это с помощью javaws -verbose app.jnlp. Как я могу заставить JRE 6 только для этого приложения?

Ответы

Ответ 1

У меня есть Java Java-приложение Java на базе Java. Как я могу заставить JRE 6 только для этого приложения?

Используйте соответствующий атрибут version в элементе j2se.

<resources>
    <!-- Any 1.6 JRE -->
    <j2se version='1.6*'>
    ...
</resources> 

Предупреждение

Это решение больше не работает для установки более ранних версий JVM!

Лучшая причина, по которой я могу думать о том, почему это не сработает, - это то, что Oracle утомляет выпуск обновлений безопасности для более ранних версий Java - поэтому он заставляет каждого пользователя использовать новейшую JVM.

Ответ 2

Я понимаю, что это самый старый пост, но он появился, когда я искал аналогичную проблему. Самый простой способ справиться с этим (как одноразовое решение, которое не будет влиять на систему в целом) - установить параллельную старую версию Java и перетащить jnlp на javaws.exe. (У меня было веб-приложение, которое использовало Java 5 и не открывалось иначе)

Ответ 3

У меня есть UAC-совместимый ноутбук с Windows 7 и двумя версиями Java (1.8 и 1.7). SesWebstart.jnlp должен быть запущен с более старой версией Java, в моем случае 1.7. Это сработало для меня: В панели управления Java удалите все записи для приложения sesWebstart.jnlp(если существует). Вы можете запустить Java Cache Viewer в командной строке:

C:\Program Files (x86)\Java\jre1.7.0_55\bin> javaws -viewer

Команда запускает панель управления Java и средство просмотра Java Cache. Откройте приложение Java Cache Viewer, выберите список приложений и удалите запись для sesWebstart.jnlp(если существует).

Закройте Java Cache Viewer и перейдите в панель управления Java. Перейдите к настройкам временных файлов Интернета и удалите файлы кэша и само приложение. После этого закройте панель управления Java.

Создайте новый командный файл, который запустит sesWebstart.jnlp с правильной Java (более старая):

"C:\Program Files (x86)\Java\jre1.7.0_55\bin\javaws.exe" "D:\Users\christian\Desktop\sesWebstart.jnlp" 

Теперь апплет sesWebstart может начать с выполнения этого командного файла.

Ответ 4

Другим правдоподобным решением, которое сработало для меня, было переименование файла javaws.exe(javaws2) самого последнего JRE/JDK, поскольку JVM всегда ищет самую новую версию. Если вам нужно отменить изменения, просто переименуйте снова в исходное значение

Ответ 5

Я бы посоветовал также добавить флаг -verbose. например   javaws.exe -verbose http....

В моем случае я все еще вызывал некоторые аргументы java1.8 (см. скриншот), поэтому мне пришлось отключить Java 8 на панели управления Java.

Ответ 6

Просто используйте javaws.exe из JRE, который вы хотите, например:

C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe file.jnlp

Но, пожалуйста, имейте в виду другие ответы, такие как настройка версии j2se и спецификация jnlp.

Ответ 7

У меня была такая же проблема. Я создал файл bat, который изменяет переменную JAVA_HOME, а затем использует javaws для запуска jnlp файла, и это сработало для меня.

Содержимое файла bat:

SET "JAVA_HOME=[path to your jre folder]"
javaws [path to your jnlp]

Надеюсь, это поможет:)

Ответ 8

Параметры Jnlp jre находятся в настройках Java, которые находятся в панели управления.

Перейдите в Панель управления и найдите "Java". В моем случае это Java (32-разрядная версия). Откройте его и выберите вкладку Java, затем настройки времени выполнения приложения Java

Ответ 9

Просто перетащите ссылку файла jnlp над соответствующей версией javaws, и она "Open with" изобразите, как открыть jnlp с javaws Обычно пользователи MacOS открывать файлы таким же образом

Ответ 10

вам нужно сделать это вручную, выполнив простой процесс,

  • щелкните правой кнопкой мыши файл jnlp → propeties. перейти к атрибуту открывается с помощью → нажмите кнопку изменения.
  • выберите просмотр.
  • выберите путь из javaws.exe версии JRE, который вы хотите, если 6 от 7. ех. C:\Program Files (x86)\Java\jre7\bin\javaws.exe(в моем случае)