Рейтинг:1

Заставить JNLP работать на Ubuntu 20.04

флаг tr

Я пытался в течение долгого времени сделать эту работу, но у меня нет рабочих результатов. Я понимаю, что мне нужно установить icedtea-netx для Ubuntu 20.04, но, похоже, этого недостаточно. Когда я получаю доступ к моему jnlp icedtea, он запускается, но по-прежнему показывает логотип. В чем может быть проблема? Работает ли icedtea вместе с установленной java? У меня тоже должна быть установлена ​​java 1.8.0, или в чем может быть проблема? Я буду счастлив, если кто-нибудь сможет мне помочь.

cocomac avatar
флаг cn
У меня получилось работать с IcedTea-Web + OpenJDK 11. Подойдет ли вам это?
antonio1 avatar
флаг tr
то же самое, заморозить логотип, есть ли у вас подробные инструкции по установке IcedTea-Web + OpenJDK 11? Если у вас такая же ОС, Ubuntu 20.04 должна работать.
cocomac avatar
флаг cn
У меня почти все работает, скоро напишу ответ
antonio1 avatar
флаг tr
отлично, спасибо, я хочу применить и посмотреть, как это работает. Везде много теорий без результатов, эта ветка надеется получить эффективный результат.
Рейтинг:0
флаг cn

Удалите все пакеты/вещи Java и IcedTea, которые у вас уже есть. Я предполагаю стандартную установку Ubuntu 20.04 LTS, хотя 21.10 тоже должна работать нормально.

Во-первых, установите Java 11 JDK (нам не нужен JDK, так как мы ничего не компилируем, но по какой-то причине JRE не работает, поэтому все равно используйте JDK):

$ sudo apt update && sudo apt установить openjdk-11-jdk
...

Убедитесь, что он установлен:

$ java --версия
openjdk 11.0.13 2021-10-19
Среда выполнения OpenJDK (сборка 11.0.13+8-Ubuntu-0ubuntu1.20.04)
64-битная виртуальная машина сервера OpenJDK (сборка 11.0.13+8-Ubuntu-0ubuntu1.20.04, смешанный режим, совместное использование)

Да, теперь у нас установлена ​​Java 11 JRE (нет, более новые версии не будут работать, поэтому вы не можете использовать 16 или 17. Java 8 работает, но я предпочитаю 11, поскольку она поддерживает дисплеи HiDPI). Время установить IcedTea-Web. Итак... Ubuntu не включает его в репозитории пакетов. Так что лучше всего установить его вручную. Загрузите последнюю версию этого отсюда. В частности, вы хотите, чтобы icedtea-web-X.Y.Z.linux.bin.zip файл. Загрузите его и переместите zip в (пустую) папку - я использовал ~/ледяной чай. Извлеките его с помощью распаковать icedtea-web-X.Y.Z.linux.bin.zip (используйте здесь правильное имя файла). Возможно, вам придется установить его с помощью sudo apt update && sudo apt install unzip. Теперь будет папка с названием icedtea-веб-изображение. Войдите в это. Теперь зайдите в мусорное ведро папка (внутри icedtea-веб-изображение). Запустите это, чтобы протестировать IcedTea-Web

$ ./javaws-о

Это запустит javaws (Java Web Start) двоичный файл, входящий в состав IcedTea-Web, и есть всплывающее небольшое приложение Java с графическим интерфейсом, чтобы убедиться, что все работает. Если все пойдет хорошо, вы на мгновение увидите логотип IcedTea-Web, а затем диалоговое окно, которое выглядит следующим образом*:

IcedTea-Web о диалоге

Теперь вы можете просто запустить любой случайный .jnlp файл таким образом (т.е. ~/icedtea/icedtea-web-image/bin/javaws какой-то файл.jnlp). Это верно... и немного раздражает каждый раз вводить полный путь. Пер этот ответ, мы установим его в /опт, и сделать символическую ссылку в /USR/местные/бен для бинарников. Перейдите туда, куда вы распаковали zip (для меня ~/ледяной чай). Если вы сделаете лс здесь вы должны увидеть папку с именем icedtea-веб-изображение. Теперь сделай sudo cp -r icedtea-web-image /opt. Теперь, в /опт каталог, там должна быть папка с именем icedtea-веб-изображение. Время делать симлинки. Вот ссылки, которые мы сделаем

Источник Пункт назначения
/opt/icedtea-веб-изображение/bin/javaws /USR/локальные/бин/javaws
/opt/icedtea-web-image/bin/itweb-настройки /usr/local/bin/itвеб-настройки
/opt/icedtea-web-image/bin/policyeditor /usr/местные/бен/policyeditor
$ sudo ln --symbolic /opt/icedtea-web-image/bin/javaws /usr/local/bin/javaws
$ sudo ln --symbolic /opt/icedtea-web-image/bin/itweb-settings /usr/local/bin/itweb-settings
$ sudo ln --symbolic /opt/icedtea-web-image/bin/policyeditor /usr/local/bin/policyeditor

Теперь, когда мы сделали ссылки из вашего домашнего каталога (~), делать javaws -о. Если все прошло хорошо, появится диалоговое окно (показано выше). Теперь загрузите свой .jnlp файл и сохраните его где-нибудь (я предполагаю, что это ~/Загрузки/somefile.jnlp). Чтобы запустить этот файл, просто выполните javaws ~/Загрузки/somefile.jnlp, и он должен работать! К сожалению, этот метод не поддерживает интеграцию с браузером, но вы все равно можете запустить .jnlp файл вручную.


* Вы можете заметить, что эти границы окна не Ubuntu, а Windows 10. Однако из-за того, что на данный момент у меня нет реальной установки Ubuntu (в основном я использую Arch для Linux), я тестирую это в WSL2. У меня есть настройка X-сервера (VcXsrv), которая позволяет мне запускать приложения с графическим интерфейсом в WSL2, поэтому он выглядит как Windows. Но это все еще настоящая Ubuntu 20.04, только с X-сервером в Windows.

antonio1 avatar
флаг tr
Я следую вашей процедуре и вернусь с ответом. Я просто хочу отметить, что вы очень хорошо описали шаги, мне очень нравится следовать вашей процедуре, надеюсь, она сработает. Просто ждите моих результатов. Спасибо.
antonio1 avatar
флаг tr
Вот и я с результатами. Не ОК, такая же ситуация с заморозкой, хотя во время процедуры все работало отлично. У меня один вопрос, почему этот icedtea вместо icedtea-netx? Моя сообщение об ошибке: Исключение в потоке "TIM59 MMC Eml Applet" java.lang.RuntimeException: java.lang.NoClassDefFoundError: javafx/scene/Parent Мне кажется, что в пакете java отсутствует javafx.
cocomac avatar
флаг cn
@antonio1 Попробуйте `sudo apt update && sudo apt purge openjdk-11-jdk && sudo apt install openjdk-8-jdk` и посмотрите, работает ли это. Java 11 удаляет JavaFX, и если вас не волнует поддержка HiDPI, это (использование вместо этого Java 8) может это исправить. Если это не так, см. [этот вопрос] (https://stackoverflow.com/questions/56166267/), чтобы узнать, как заставить JavaFX работать с Java 8 (на который вы бы переключились)
antonio1 avatar
флаг tr
Не работает при изменении версии Java, та же ошибка с отсутствующим JavaFX. Также указанная ссылка для Ubuntu 18.04 путем установки openjfx, libopenjfx-jni и libopenjfx-java с последней версией, потому что 8u161 не найден, все еще не работает. Может быть, мне нужно объявить какой-то путь где-то в переменных.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.