Как заставить java web start запускаться автоматически без двойного щелчка по JNLP [дубликат]

этот вопрос уже есть ответ здесь:

У меня есть приложение апплета java, которое доступно нашим клиентам через наш веб-сайт. Поскольку Microsoft edge и chrome перестали поддерживать Java plug in, мы преобразовали апплет для запуска через jnlp и Java Web Start, К сожалению, в обоих браузерах jnlp загружен, и клиент должен дважды щелкнуть файл, чтобы запустить Java Web Start.

наши клиенты полностью разочарованы этим поведением, и я пытаюсь найти решение этой проблемы.

1 ответов


возможные решения

1) Измените поведение в браузере, чтобы спросить пользователя, что делать, когда он нажимает на JNLP link. Затем пользователь может выбрать Open with: Java web start launcher или save file.

редактировать он работает в Firefox, но не работает с Chrome: см. связанные отчеты об ошибках 10877 и открытые вопросы

2) предоставьте скрипт пользователю, который исполняет
javaws https://example.com/your_application.jnlp

пример для демонстрации (ссылка на приложение взята из учебника Oracle:запуск приложения Java Web Start)

javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

это откроет простое приложение Java.

редактировать для бесстрашных есть хакерское решение для Chrome.

  1. закройте Chrome и имейте в виду, чтобы всегда делать копию файлов, измененных в следующих шагах; -)
  2. найти в Библиотека хром chrome.[so|dll] байт jnlp и патч них, как, например,jnl-
  3. найдите в своем каталоге профиля пользователя Chrome файл Preferences и изменить его как ...

.

"download": {
    ...
    "extensions_to_open": "jnlp",
    ...
},

в следующий раз, когда вы нажмете на ссылку на файл JNLP, она будет открыта автоматически (с помощью приложения, которому назначено открыть этот тип файла, обычно это javaws).

свойство было найдено после просмотра источника pref_names.cc. Но Chrome лечить расширение jnlp as опасно вот почему нам также нужно исправить библиотеку.