Temurin-build: JavaFX отсутствует в дистрибутивах OpenJDK 8

Созданный на 27 сент. 2018  ·  116Комментарии  ·  Источник: adoptium/temurin-build

Привет,

в настоящее время библиотеки JavaFX отсутствуют в дистрибутивах Windows OpenJDK 8. Планируется ли включение JavaFX в дистрибутивы AdoptOpenJDK?

Большое спасибо за вашу помощь!

enhancement wontfix

Самый полезный комментарий

Я думаю, что разработчики, которым нужен связанный JavaFX (OpenJFX), могут использовать указанные ниже дистрибутивы.

ZuluFX и Liberica поддерживаются JDK 8/11, Corretto теперь только JDK 8 и находится в предварительной версии.

Все 116 Комментарий

@SzentnerTsIT Да, у нас уже есть несколько открытых вопросов по этому

Есть эта проблема с AdoptOpenJdk 1.8u192b12 в Linux (не Windows),
не должно ли работать или я что-то упускаю?
TIA за ваш ответ

См. Также № 245 - это также, возможно, проблема установщика - повторное повторение.

Я не использую установщик, я распаковываю загруженный архив и использую «update-alternatives --install» для установки jdk (обратите внимание, что это не совсем исходная проблема, это проблема Linux).
Я видел, что jfxrt.jar отсутствует в дистрибутиве AdoptOpenJDK при сравнении содержимого каталога jre / lib / ext в AdoptOpenJDK 8u192 (1-е окно) и oracle jdk 1.8u192 (2-е окно) (см. Прикрепленный снимок экрана), возможно, это проблема?
В любом случае спасибо за ваш ответ
image

Какие выпуски Windows включают JavaFX?

@alexhass , Windows oracle jdk 1.8 есть, у меня сейчас нет системы Windows, чтобы сделать снимок экрана, но, глядя на веб-сайт документации, вы видите, что api включен в 1.8. https://docs.oracle.com/javase/8/javafx/api/toc.htm
JavaFX перешел на openJFX, начиная с версии 1.8 (т.е. 9, 10 и 11).

2 недели назад я тестировал PDFsam на Windows с 8.x, и он пожаловался, что не может обнаружить java. Я просто предполагаю, что он не встроен. Может ошибка в pdfsam.

Я скачиваю jdk8u192-b12-jre и снова проверяю путь \lib\ext\ но нет jfxrt.jar

Вы должны смотреть на каталог jre под jdk, а не на jre вне дерева каталогов jdk.
Здесь, на машине Windows с jdk 191 (снимок экрана, сделанный вчера, я не устанавливал 192, так как это не моя машина):
jdk-jfxrt
Я заметил проблему, потому что у меня есть код, который компилируется (под Linux) с помощью oracle jdk и который не компилируется с помощью Adoptopenjdk (под Linux), потому что он не может найти пакеты javafx, проект с открытым исходным кодом Corda. Adoptopenjdk под виндой не пробовал.
В этом проекте на самом деле используется jdk 1.8, и я не могу легко переключиться на jdk11, это 5,4 млн строк кода, и есть некоторые специфические настройки. Это значительный объем работы.
И я этого не говорил, но я очень благодарен всем, кто поддерживает дистрибутив Adoptopenjdk, и благодарю их за их работу, это очень важная инициатива.

Вы имеете в виду Oracle Java. Но я говорю о JRE от AdoptOpenJDK.

В пакетах AdoptOpenJDK отсутствует JavaFX. Это доставляет массу неприятностей. Например, PDFsam нельзя использовать в Windows.

Да, проверял Oracle jdk.
Похоже, библиотеки javafx отсутствуют как в сборках Linux, так и в Windows AdoptOpenJDK.

Есть ли ETA, когда JavaFX может быть включен в выпуски 8.x?

Надеюсь, это будет решено до того, как Oracle Java 8 достигнет EOL за два? больше релизов (u211).

Есть ли ожидаемое ETA с Oracle Java 8 EOL?

Спасибо
Майкл

Я думаю, что разработчики, которым нужен связанный JavaFX (OpenJFX), могут использовать указанные ниже дистрибутивы.

ZuluFX и Liberica поддерживаются JDK 8/11, Corretto теперь только JDK 8 и находится в предварительной версии.

Мы советуем нашим клиентам использовать accepttopenjdk с нашим продуктом. Большинство наших продуктов не используют javafx.

Из-за стоимости проверки мы будем поддерживать один дистрибутив java. Мы хотели бы использовать accepttopenjdk.

Есть ли ETA на openJFX в дистрибутиве Windows. На данный момент у нас все в порядке с дистрибутивами openjdk для linux java 1.8. Первый из них - это windows java 1.8.

Мы надеемся, что что-то будет сделано не позднее конца первого квартала.

@karianna, если так, то это будет последняя версия EOL для Java 8, верно? Мне нужна 32-битная версия.
IBM также будет "иметь" его (J9, а не OpenJ9) спустя долгое время после входящего EOL, если вы выполните поиск "Отправить Java 8 APAR FOR WAS"

@karianna, если так, то это будет последняя версия EOL для Java 8, верно? Мне нужна 32-битная версия.
IBM также будет "иметь" его (J9, а не OpenJ9) спустя долгое время после входящего EOL, если вы выполните поиск "Отправить Java 8 APAR FOR WAS"

Скорее всего, мы добавим его в AdoptOpenJDK в качестве опции в установщиках. Для win-32 это может быть сложно. @johanvos и @ ali-ince должны будут прокомментировать возможность этого.

Это нечто большее, чем просто jfxrt.jar . Если вы поищете в дистрибутиве Oracle JDK файлы с fx вы найдете около дюжины файлов, которые кажутся важными. Amazon Corretto имеет jfxrt.jar но отсутствует jfxwebkit.dll и некоторые другие, плюс файл jfxrt.jar намного меньше. Дистрибутив Amazon также не завершен, он может работать при компиляции, но вылетает во время выполнения, если используется javafx webkit. Я надеюсь, что в acceptjdk включена поддержка всех функций javafx в JDK8, мне действительно нужен webkit для работы!

Я рад вашим усилиям по предоставлению бесплатного LTS JDK / RE 8. Увы, прямая замена Oracle JDK / JRE 8 без полной поддержки JavaFX не является реальной заменой dropin.

Нам нужна поддержка JavaFX для тестирования Selenium с помощью JBrowserDriver (https://github.com/MachinePublishers/jBrowserDriver) для автономного тестирования пользовательского интерфейса на сервере сборки Jenkins. Действительно хорошее решение для Java. Другой браузер, поддерживающий безголовый режим, - Chrome. Но это PITA, чтобы начать работать. В конце концов мы отказались от этого, потому что у нас есть дела поважнее.

Поскольку JBrowserDriver использует компонент HtmlKit из JavaFX, он не работает в текущих дистрибутивах OpenJDK 8. Конечно, есть много других приложений с открытым исходным кодом и частных приложений, которые не будут работать без JavaFX.

Если нужна помощь, например, для тестирования предварительной версии и обратной связи, я буду рад ее предоставить. Мы используем AdoptOpenJDK с Open J9 VM для компиляции и в качестве среды выполнения для WebSphere Liberty на наших машинах для разработчиков, а также для компиляции и в качестве среды выполнения тестов (maven). Единственным исключением на данный момент являются наши тесты Selenium.

Среда выполнения OpenJDK (AdoptOpenJDK) (сборка 1.8.0_202-b08) не имеет JavaFX.
Как включить?

Среда выполнения OpenJDK (AdoptOpenJDK) (сборка 1.8.0_202-b08) не имеет JavaFX.
Как включить?

В ближайшее время я бы направился в OpenJFX и спросил их сообщество - пройдет немного времени, прежде чем мы разберемся с этой историей здесь.

Привет,

есть ли информация, когда javafx будет доступен в AdoptOpenJDK 8. Нам это действительно нужно.

Возможный обходной путь:
Я работаю над системой Ubuntu 18.04 и использую версию AdoptOpenJDK 8u202-b08.
Чтобы запустить javafx, я скопировал все необходимые файлы из версии Oracle JDK 1.8.0_201 в AdoptOpenJDK. Следом за файлами нужно скопировать:

javafx-src.zip
bin/javafxpackager
jre/lib/javafx.properties
jre/lib/jfxswt.jar
jre/lib/ext/jfxrt.jar
jre/lib/javafx.properties
jre/lib/amd64/libjavafx_font_freetype.so
jre/lib/amd64/libjfxwebkit.so
jre/lib/amd64/libjfxmedia.so
jre/lib/amd64/libjavafx_iio.so
jre/lib/amd64/libjavafx_font_t2k.so
jre/lib/amd64/libfxplugins.so
jre/lib/amd64/libjavafx_font_pango.so
jre/lib/amd64/libjavafx_font.so
jre/lib/amd64/libglass.fo
jre/lib/amd64/libprism_common.so
jre/lib/amd64/libprism_es2.so
jre/lib/amd64/libprism_sw.so
lib/ant-javafx.jar
lib/javafx-mx.jar

Я не знаю, нужны ли вам точно такие же файлы в Windows, но я надеюсь, что сейчас это поможет запустить ваше приложение с AdoptOpenJDK.

@karianna есть новости?

@karianna есть новости?

Он довольно высок в списке, но в первую очередь у нас есть другие приоритеты записи (установщики и JDK12).

@karianna, что вам нужно, чтобы получить javafx внутри AdoptOpenJDK?

Я думаю, нам просто нужно добавить правильные библиотеки в существующий пакет JRE / JDK, а затем сделать его доступным как для отдельной загрузки, так и через установщики. Так что, вероятно, некоторые сценарии Jenkins Groovy / Bash, некоторые обновления установщика, а затем некоторые API и веб-работа.

Мне удалось собрать OpenJFX 1.8 на машине с Windows 10 с jfxwebkit.dll и т. Д., Также построенными. Тесты прошли нормально. Это было очень болезненное упражнение, руководства по сборке openjfx в Интернете по-разному недостаточно точны по определенным функциям: какие именно версии пакетов инструментов работают вместе, и какие пакеты лучше всего загружать вручную, а не загружать с помощью cygwin. Порядок PATH также имеет решающее значение для выбора правильных компиляторов, правильной сборки и т. Д. Это может быть сделано.

В дистрибутивах MacOS и Linux также отсутствуют библиотеки JavaFX ...

@karianna в рамках этой проблемы, будет ли OpenJFX также предоставляться в дистрибутивах MacOS и Linux? Если да, то не могли бы вы обновить название проблемы, чтобы отразить ее масштаб.

Я просто переключаюсь на Windows благодаря Ninite. Теперь несколько программ больше не работают, и я пойду в кроличью нору, чтобы посмотреть, как исправить это, не возвращаясь к проприетарной системе Oracle. Нам действительно нужна прямая замена, которая работает как прямая замена.
Я понимаю, что это требует больших усилий со стороны нескольких человек, и я не подразумеваю неуважения или пренебрежения к проделанной работе. Я просто указываю на проблему. Теперь, когда accepttopenjdk будет видеть много нового трафика в результате действий Oracle, мы не хотим, чтобы менее технические люди думали, что OpenJDK - мусор, потому что ничего не работает.

@ Sakata-MC Сообщество будет работать над OpenFX и сделать его первоклассным гражданином. Если вам нужна дополнительная поддержка в этих усилиях, см. Варианты на сайте accepttopenjdk.net/support.html.

@ Sakata-MC @kariana Amazon Correto содержит библиотеки JFX для всех ОС. Но нет OpenJ9 JVM.

Я также искал поддержку javaFX для iOS.

Я также искал замену Oracle JDK 8, и, к сожалению, ни одна из альтернатив не подходит. Отсутствует поддержка Win32 или Mac (все, кроме AdoptOpenJDK) и / или отсутствует JavaFX с WebKit и javafxpackager.

Мне действительно интересно, что может иметь более высокий приоритет, чем паритет функций. Прио нужно сильно увеличить. Проект действительно тяжелый позади ...

@alexhass Pull Requests и поддержка приветствуются! - иначе вы можете заглянуть на accepttopenjdk.net/support.html, чтобы ускорить работу функций.

Попробую случайно найти этот дистрибутив:
https://www.azul.com/downloads/zulu/zulufx/

Не знал, что существует бесплатная и неограниченная версия Zulu JRE / JDK для сообщества.

Присутствуют библиотеки DLL Webkit. Я думаю, что другие артефакты JavaFX тоже завершены:

zulu8.38.0.13-ca-fx-jdk8.0.212-win_x64 \ bin \ javafxpackager.exe
zulu8.38.0.13-ca-fx-jdk8.0.212-win_x64 \ jre \ bin \ javafx_font.dll
zulu8.38.0.13-ca-fx-jdk8.0.212-win_x64 \ jre \ bin \ javafx_iio.dll
zulu8.38.0.13-ca-fx-jdk8.0.212-win_x64 \ jre \ bin \ jfxmedia.dll
zulu8.38.0.13-ca-fx-jdk8.0.212-win_x64 \ jre \ binjfxwebkit.dll

Я скопировал только имена файлов, упомянутых в других комментариях. Есть еще. Посмотрите сами и попробуйте, если вы остро нуждаетесь в замене дропина.

@jmsdo Вы также можете попробовать Liberica JDK. https://www.bell-sw.com/

Есть новости, будет ли это готово к рубежу «Май 2019»?

@juliojgd Май оптимистичен, вероятно, будет июнь

Эта проблема становится все более важной, поскольку последний образ докера OpenJDK переключился на JDK из AdoptOpenJDK.
До того, как появилась возможность установить JavaFX с помощью «apt get install openjfx».

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

https://github.com/docker-library/openjdk/blob/282961c4ca0be09af7a556e38b8d5be0c2db0608/8/jdk/Dockerfile

Это коммит, изменивший поведение:
https://github.com/docker-library/openjdk/commit/3eb0351b208d739fac35345c85e3c6237c2114ec#diff -fef076ee1e5f270f2c5a93d075150919

Поскольку моей компании требовался openjfx 8 для принятия на работуpenjdk, я скомпилировал его. Вы можете собрать его самостоятельно https://benjamin-brummer.de/2019/06/03/build-openjfx-8-for-adoptopenjdk/ или поверьте мне и возьмите последнюю сборку отсюда https://benjamin-brummer.de / загрузки /. Просто распакуйте его в свой jdk.

@benbrummer Спасибо за сборку, но у вас отсутствует libjfxwebkit:
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Program Files\AdoptOpenJDK\jdk-8.0.212.03-hotspot\jre\bin\jfxwebkit.dll

@Siedlerchr Я загрузил сборку с помощью WebKit и Media

@benbrummer может быть, создать запрос на

Не уверен, куда тянуть, чтобы https://github.com/AdoptOpenJDK/openjdk-jfx пусто.

Предположение

  1. PR для изменения git-hg, чтобы получить исходники на Github.
  2. PR за изменение кода на Github, чтобы его можно было собрать с AdoptOpenJDK в качестве цели
  3. PR для построения против других платформ (в лучшем случае в этом нет необходимости)
  4. Интеграция в систему сборки?

Второй PR был бы легким, но я создаю только OpenJFX для Windows и только OpenJFX 8.

https://github.com/javafxports/openjdk-jfx - это зеркало ...

Не уверен, куда тянуть, чтобы https://github.com/AdoptOpenJDK/openjdk-jfx пусто.

Предположение

  1. PR для изменения git-hg, чтобы получить исходники на Github.

Возможно, нам даже не придется этого делать, если нам не нужно хранить исправления для того, что находится в https://github.com/javafxports/openjdk-jfx - @johanvos - если мы создадим OpenJFX в Adopt, нужно ли нам указывать поставщика строка или что-нибудь в этом роде?

  1. PR за изменение кода на Github, чтобы его можно было собрать с AdoptOpenJDK в качестве цели

Я думаю, что это был бы просто случай настройки конвейера сборки Jenkins для создания OpenJFX (ночной) и выпуска версий.

  1. PR для построения против других платформ (в лучшем случае в этом нет необходимости)

Вся часть конвейера выше. Я думаю, что одной из причин, по которой нас задерживали, была некоторая инфраструктурная работа по установке зависимостей OpenJFX.

https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+OpenJFX

  1. Интеграция в систему сборки?

Второй PR был бы легким, но я создаю только OpenJFX для Windows и только OpenJFX 8.

https://github.com/javafxports/openjdk-jfx недостаточно
Нам нужно зеркало
http://hg.openjdk.java.net/openjfx/8u/rt/
http://hg.openjdk.java.net/openjfx/9/rt/ (eol)
http://hg.openjdk.java.net/openjfx/10/rt/ (eol)
http://hg.openjdk.java.net/openjfx/11/rt/
http://hg.openjdk.java.net/openjfx/12/rt/
http://hg.openjdk.java.net/openjfx/jfx-dev/rt будет 13

Инструкции от https://github.com/AdoptOpenJDK/openjdk-build/blob/master/README.md
jfx - Build OpenJFX, defaults to https://github.com/AdoptOpenJDK/openjdk-jfx
недостаточно. Как для OpenJDK (jdk8u, jdk9u ...). нам нужно то же самое для OpenJFX.

Мы только что поняли, что для AdoptOpenJDK 8u212 + OpenJFX 8 Overlay отсутствуют DLL-файлы Windows. Для запуска приложения javafx нам пришлось дополнительно установить Visual C ++ 2015-2019 Redistributable https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads.

В Lubuntu 19.04 OpenJDK-8-JDK отсутствует JavaFX. Означает ли это, что с JavaFX для Java 8 это больше невозможно? Мне нужно перейти на Java 11, если я хочу создавать приложения для Android?

По-прежнему можно использовать JavaFX с Java 8 @DanielMartensson .

Проблема здесь просто в том, что некоторые дистрибутивы Java не включают JavaFX или включают его отдельно.

Чтобы еще больше усложнить ситуацию, в Ubuntu был отдельный пакет openjfx 8, но они избавились от него и теперь имеют только пакет openjfx 11. В качестве возможного обходного пути вы могли бы добавить репозитории для старой версии Ubuntu и установить старый пакет openjfx, но я лично не пробовал этого. Подробнее здесь: https://askubuntu.com/questions/1088281/openjfx-11-after-18-10-upgrade

Это файл докеров, который мне подходит, включая JavaFX:

FROM openjdk:8

RUN apt-get update && \
    apt-get install -y --no-install-recommends imagemagick openjfx git \
    && rm -rf /var/lib/apt/lists/* \
    && cp /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar /usr/local/openjdk-8/jre/lib/ext \
    && cp /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/javafx.properties /usr/local/openjdk-8/jre/lib \
    && cp /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jfxswt.jar /usr/local/openjdk-8/jre/lib \
    && cp /usr/lib/jvm/java-8-openjdk-amd64/lib/ant-javafx.jar /usr/local/openjdk-8/lib \
    && cp /usr/lib/jvm/java-8-openjdk-amd64/lib/javafx-mx.jar /usr/local/openjdk-8/lib

ENV JAVA_HOME /usr/local/openjdk-8/

Привет, @jschneider , на какой версии Ubuntu вы это тестировали? Как я уже отмечал выше, я думаю, что пакет openjfx теперь был изменен для поддержки только Java 11 в новой версии Ubuntu (с 18.10), поэтому этот сценарий может больше не работать.

Также, если вы не возражаете, я спрашиваю, почему бы просто не установить JAVA_HOME в / usr / lib / jvm / java-8-openjdk-amd64 / вместо копирования всех этих файлов в другой каталог?

Я расширяю образ из « openjdk: 8 ».
В последний раз проверял, все работает нормально.

Если они обновили это изображение, оно может быть повреждено. Я просто строю раз в неделю.

JAVA_HOME установлен в / usr / local / openjdk-8 /, поскольку расположение JDK в базовом образе изменилось.

Я не говорю, что это лучший способ сделать это - просто он «достаточно хорош» для меня.

@jschneider , это полезно, у меня работает на CentOS 7. Спасибо!

Ах, понял. Я не слишком хорошо знаком с докером, поэтому не осознавал, что он таким образом предоставляет копию JDK. Имеет смысл. Также этот образ, похоже, основан на Debian Stretch, поэтому ошибка, о которой я говорил, не применима. Извините за путаницу

Я решил свою проблему. Мне тоже пришлось добавить libopenjfx-jni .

1. Install OpenJDK 8

        sudo apt-get install openjdk-8-jdk

2. Install OpenJFX 8, not OpenJFX 11

Open this:

    cd /etc/apt
    sudo nano sources.list

Paste this:

     deb http://de.archive.ubuntu.com/ubuntu/ bionic universe

Run this:

    sudo apt-get update
    sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2

Выполнено

Можно ли ожидать решения этого вопроса в ближайшее время?
Этот год?

Можно ли ожидать решения этого вопроса в ближайшее время?
Этот год?

Возможно, в этом году да, но в первую очередь мы решаем ряд более высоких приоритетов. Если вам нужно что-то ускоренное, есть несколько вариантов коммерческой поддержки (accepttopenjdk.net/support)

У нас есть настольный программный продукт (требующий Java-FX и использующий некоторые рефлексивные хаки, которые затрудняют java-9), который, как я только недавно понял, вероятно, связан с злоупотреблением лицензией на новую лицензию Oracle.

Я использую Azul Java8 + FX u222 ( zulu8.40.0.25-ca-fx-jdk8.0.222-win_i686 ) без проблем.

Было бы очень хорошо, если бы AdoptOpenJDK включил бы среду выполнения JavaFX в свой дистрибутив java-8.

_Конечно, было бы лучше, если бы я смог реорганизовать свой код взлома рефакторинга из своей кодовой базы и просто перейти на java-11_ (или, если на то пошло, на java 12, поскольку этот вывод типа выглядит действительно красиво).

https://www.jetbrains.com/research/devecosystem-2018/java/
84% пользователей используют Java8 - я думаю, что API, который не поддерживается, будет главным приоритетом.

@agilesal 83% по состоянию на 2019 год… 😉 https://www.jetbrains.com/lp/devecosystem-2019/java/

Прошел год ... Все еще не исправлено?

Прошел год ... Все еще не исправлено?

Только для Linux. Я использую OpenJFX для разработки под Android и Iphone.

Лучший способ - заставить Android работать с OpenJFX 11. Затем все пользователи Android Java перейдут на Java 11.

Да, но, как уже отмечалось в @ beatngu13 , Java 8 по-прежнему является наиболее используемой версией Java: https://www.jetbrains.com/lp/devecosystem-2019/java/
Так что поддержка для этого все еще требуется!

OpenJFX 8 не поддерживается. Пока это не изменится, мы не будем ни во что его включать. Если вы хотите это изменить, перейдите на канал OpenJFX в AdoptOpenJDK Slack.

Понял. Переход на Azul Java8 + FX

Понял. Переход на Azul Java8 + FX

Также есть Liberica, в которой есть FX.
https://bell-sw.com/pages/java-8u232/

Понял. Переход на Azul Java8 + FX

Также есть Liberica, в которой есть FX.
https://bell-sw.com/pages/java-8u232/

Я пробовал это, и это не сработало для Gluon HQ JavaFX для разработки Android / Iphone.
AdoptOpenJDK 8 с OpenJFX 8 у меня работает под Linux.

Я обновил свои загрузки для JavaFX-Overlay.
https://benjamin-brummer.de/downloads/
Кроме того, я добавил загрузку необходимых Windows-Dll.
Вы можете либо загрузить Overlay + Dll и скопировать его поверх существующего AdoptOpenJDK, либо загрузить файлы AIO-Zip.

Это работает с Gluon HQ JavaFX?

Также есть Liberica, в которой есть FX.
https://bell-sw.com/pages/java-8u232/

@ rafik777 , а как узнать, что он содержит FX? Я в первую очередь ищу что-то с предустановленной JavaFX, чтобы я мог создать свое древнее приложение Java. Но когда я построил его с помощью gradle, используя образ Docker bellsoft/liberica-openjdk-debian:8 , он сообщил о нескольких ошибках, как показано ниже:

/home/me/workspace/myapp//MainApplication.java:3: error: package javafx.application does not exist
import javafx.application.Platform;
                         ^
/home/me/workspace/myapp//MainApplication.java:4: error: package javafx.beans.property does not exist
import javafx.beans.property.BooleanProperty;
                            ^

Вы знаете, сделал ли я что-то не так?

Так как же люди добавляют JavaFX в свой AdoptOpenJDK в Linux, а именно производные Ubuntu / Debian? Я вижу, что это упоминается в этой ветке, но я не эксперт по сборке, чтобы уловить это по небольшим подсказкам и упоминаниям.

Так как же люди добавляют JavaFX в свой AdoptOpenJDK в Linux, а именно производные Ubuntu / Debian? Я вижу, что это упоминается в этой ветке, но я не эксперт по сборке, чтобы уловить это по небольшим подсказкам и упоминаниям.

У вас должны быть установлены OpenJDK 8 и OpenJFX 8.

Установите OpenJDK 8

sudo apt-get install openjdk-8-jdk

Установить OpenJFX 8
Открыть файл sources.list
cd /etc/apt sudo nano sources.list
Вставьте это в файл, сохраните и закройте
deb http://de.archive.ubuntu.com/ubuntu/ bionic universe

Запустите этот код внутри терминала
sudo apt-get update sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx-source=8u161-b12-1ubuntu2
потом
sudo apt-mark hold libopenjfx-java libopenjfx-jni openjfx openjfx-source

Также есть Liberica, в которой есть FX.
https://bell-sw.com/pages/java-8u232/

@ rafik777 , а как узнать, что он содержит FX? Я в первую очередь ищу что-то с предустановленной JavaFX, чтобы я мог создать свое древнее приложение Java. Но когда я построил его с помощью gradle, используя образ Docker bellsoft/liberica-openjdk-debian:8 , он сообщил о кучке ошибок.
Вы знаете, сделал ли я что-то не так?

@thaiphv Я думаю, вам следует создать собственный образ докера из этого файла Docker:

https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjdk-debian/8/Dockerfile

но измените это
ARG LIBERICA_USE_LITE=1
к
ARG LIBERICA_USE_LITE=0

@thaiphv Я думаю, вам следует создать собственный образ докера из этого файла Docker:

https://github.com/bell-sw/Liberica/blob/master/docker/repos/liberica-openjdk-debian/8/Dockerfile

но измените это
ARG LIBERICA_USE_LITE=1
к
ARG LIBERICA_USE_LITE=0

@ rafik777 , спасибо за предложение. Я попробую.

Я использую Mac OS Catalina. Я запускал свой проект на adoptopenjdk11 с плагином org.openjfx.javafxplugin . К сожалению, я столкнулся с проблемой безопасности, которая не позволяет OpenCV получить доступ к моей веб-камере, и это привело к сбою OpenJDK 11. Я не нашел решения проблемы безопасности.

Затем я решил установить adoptopenjdk8 чтобы посмотреть, не приведет ли это к аналогичному сбою. К сожалению, выяснилось, что org.openjfx.javafxplugin нельзя использовать с OpenJDK 8, а затем я дошел до этой темы, чтобы узнать, что JavaFX не входит в комплект OpenJDK 8.

В настоящее время я собираюсь скомпилировать org.openjfx.javafxplugin против OpenJDK 8 (https://github.com/openjfx/javafx-gradle-plugin/issues/61).

Итак, есть ли в этом прогресс? Кроме того, если у кого-то есть обходной путь для Mac OS Catalina, мы будем очень благодарны за отзывы.

Я думаю, теперь ясно, что проект AdoptOpenJDK не заинтересован в том, чтобы помогать нам с нашими проблемами JavaFX.

Единственный реальный способ сделать это - отказаться от AdoptOpenJDK. Вы пробовали Liberica JDK с сайта bell-sw.com? Я обнаружил, что это тот дистрибутив, который отвечает всем требованиям.

Ситуация не изменилась с тех пор, как я в последний раз прокомментировал (и я не говорю от имени TSC): OpenJFX 8 в настоящее время не поддерживается. И мы не хотим создавать и распространять что-то, что содержит известные уязвимости безопасности. Это было бы грубой небрежностью.

Члены AdoptOpenJDK обратились как к Azul, так и к Bell Soft для совместной работы над OpenJFX 8. Эти усилия не увенчались успехом по причинам, о которых я не знаю. Мы все еще планируем создавать и распространять OpenJFX 11, но у нас мало людей.

AdoptOpenJDK - это проект волонтеров. Спонсоры платят очень немногим людям, и они обычно работают в областях, которые их больше всего интересуют. OpenJFX явно не входит в их число. Если вы хотите увидеть прогресс в какой-либо области, станьте волонтером или спонсируйте усилия.

Вы можете использовать этот образ докера, он содержит javafx, на самом деле я запускаю эту версию, она работает хорошо.

amazo ncorretto: 8

https://hub.docker.com/_/amazoncorretto

Дополнительные могут установить эти строки в Dockerfile:
apt-get update && \
apt-get install -y —no-install-рекомендует imagemagick openjfx git \
&& rm -rf / var / lib / apt / lists / *

@ chilcho1939
OpenJFX в Amazon Corretto 8 давно не обновлялся.
Если вы отметите javafx.properties , вы сможете понять.
И OpenJFX не входит в состав Corretto 11.
https://github.com/corretto/corretto-11/issues/1

Вместо этого я рекомендую вам использовать Liberica JDK.

В нынешнем виде очень маловероятно, что AdoptOpenJDK объединит OpenJFX. Чтобы узнать, почему это так, что нужно сделать, чтобы его изменить, и какие есть альтернативы, см. Наш FAQ по OpenJFX .

Так как же люди добавляют JavaFX в свой AdoptOpenJDK в Linux, а именно производные Ubuntu / Debian? Я вижу, что это упоминается в этой ветке, но я не эксперт по сборке, чтобы уловить это по небольшим подсказкам и упоминаниям.

У вас должны быть установлены OpenJDK 8 и OpenJFX 8.

Установите OpenJDK 8

sudo apt-get install openjdk-8-jdk

Установить OpenJFX 8
Открыть файл sources.list
cd /etc/apt sudo nano sources.list
Вставьте это в файл, сохраните и закройте
deb http://de.archive.ubuntu.com/ubuntu/ bionic universe

Запустите этот код внутри терминала
sudo apt-get update sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx-source=8u161-b12-1ubuntu2
потом
sudo apt-mark hold libopenjfx-java libopenjfx-jni openjfx openjfx-source

К сожалению, сделать это в выпуске Debian Buster очень сложно. Для пакета jni требуется куча зависимостей, которые даже больше не доступны.

root@DESKTOP-8N43UKC:/etc/apt# apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libopenjfx-jni : Depends: libavcodec57 (>= 7:3.4.2) but it is not going to be installed or
                           libavcodec-extra57 (>= 7:3.4.2) but it is not going to be installed
                  Depends: libavformat57 (>= 7:3.4.2) but it is not going to be installed
                  Depends: libgtk2.0-0 (>= 2.24.0) but it is not going to be installed
                  Depends: libjpeg8 (>= 8c) but it is not installable
                  Depends: libxslt1.1 (>= 1.1.25) but it is not going to be installed
 openjfx : Depends: openjdk-8-jre but it is not going to be installed

Я обновил свои загрузки для JavaFX-Overlay.
https://benjamin-brummer.de/downloads/
Кроме того, я добавил загрузку необходимых Windows-Dll.
Вы можете либо загрузить Overlay + Dll и скопировать его поверх существующего AdoptOpenJDK, либо загрузить файлы AIO-Zip.

это совместимо с AdoptOpenJDK11?

Для установки на Open JDK 8
sudo apt install openjfx = 8u161-b12-1ubuntu2 libopenjfx-java = 8u161-b12-1ubuntu2 libopenjfx-jni = 8u161-b12-1ubuntu2

Так как же люди добавляют JavaFX в свой AdoptOpenJDK в Linux, а именно производные Ubuntu / Debian?

Вы можете использовать мое репо с OpenJFX8 со всеми патчами ojdkbuild:
https://github.com/jschwartzenberg/openjfx8

Убедитесь, что у вас установлена ​​последняя версия OpenJDK 8, и выполните git-клон репозитория и используйте sh ./gradlew zips для создания оверлейного zip-архива.

Любая другая версия OpenJFX8, которую я видел, имеет известные уязвимости в системе безопасности.

apt-mark удерживать libopenjfx-java libopenjfx-jni openjfx openjfx-source

@samikrc - https://askubuntu.com/a/1062168 помогло.

Я обновил свои загрузки для JavaFX-Overlay.
https://benjamin-brummer.de/downloads/
Кроме того, я добавил загрузку необходимых Windows-Dll.
Вы можете либо загрузить Overlay + Dll и скопировать его поверх существующего AdoptOpenJDK, либо загрузить файлы AIO-Zip.

Привет ... У вас есть обновленный оверлей? Windows x64

Привет ... У вас есть обновленный оверлей? Windows x64

Для Windows я рекомендую сборки с https://github.com/ojdkbuild/ojdkbuild

Привет ... У вас есть обновленный оверлей? Windows x64

Для Windows я рекомендую сборки с https://github.com/ojdkbuild/ojdkbuild

Привет, возможно, мне что-то не хватает, где в этом репо находятся оверлеи JFX?

Привет, возможно, мне что-то не хватает, где в этом репо находятся оверлеи JFX?

Это в каждом выпуске, см., Например:
https://github.com/ojdkbuild/ojdkbuild/releases/tag/java-1.8.0-openjdk-1.8.0.275-1.b01

Я понятия не имею, работают ли эти оверлеи также с двоичными файлами от Adopt. Я не знаю преимуществ двоичных файлов Adopt.

@wicadmin @jschwartzenberg
Привет, я думаю, вам лучше использовать Liberica JDK [1] или ZuluFX [2].
См. FAQ [3] по AdoptOpenJDK.
Рекомендую Liberica JDK!

Liberica и ZuluFX не предлагают наложения.
Если они вам нужны, вы можете скачать SDK с сайта Gluon [4].
Но Gluon не предлагает бесплатную версию JavaFX 8 и LTS.
Кроме того, ZuluFX не предлагает OpenJFX LTS [5], кроме Zulu 8.

[1] https://bell-sw.com/pages/downloads/?package=jdk-full
[2] https://www.azul.com/downloads/zulu-community/?package=jdk-fx
[3] https://adoptopenjdk.net/faq.html#openjfxfaq
[4] https://gluonhq.com/products/javafx/
[5] https://docs.azul.com/zulu/zulurelnotes/ZuluReleaseNotes/ReleaseDetails1528-1335-1334-1143-1142-850-849-742-741-636-respin.htm

@wicadmin мы перешли на Amazon Coretto https://aws.amazon.com/corretto/

Я перепробовал все до единого. У некоторых есть старые компоненты JFX. Я застрял на Java 8 для нашего приложения. Из-за какой-то проблемы с компонентами JFX в Oracle (приложение перестает отвечать) мы перешли на AdoptOpenJDK 8, и все работает с оверлеем @benbrummer, за исключением jfxwebkit.dll, выдающего эту ошибку:

java.lang.UnsatisfiedLinkError: com.sun.webkit.WebPage.twkUpdateRendering(J)V
at com.sun.webkit.WebPage.twkUpdateRendering(Native Method)
at com.sun.webkit.WebPage.updateRendering(WebPage.java:648)
at com.sun.webkit.WebPage.updateContent(WebPage.java:641)
at com.sun.javafx.sg.prism.web.NGWebView.update(NGWebView.java:74)
at javafx.scene.web.WebView.handleStagePulse(WebView.java:999)
at javafx.scene.web.WebView.lambda$new$0(WebView.java:280)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:399)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:398)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:422)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:518)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:498)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:491)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:319)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:177)
at java.lang.Thread.run(Thread.java:748)

jfxwebkit.dll из других дистрибутивов, похоже, теперь исправляет это, но теперь я не уверен, чего не хватает, так как это немного меньший размер, чем у @benbrummer .

@benbrummer
JavaFX в Corretto - это очень старая версия «8u202».
И это не поддерживается в Corretto 11 [1].
Так что, думаю, использовать его не стоит.

[1] https://github.com/corretto/corretto-11/issues/1

@wicadmin @jschwartzenberg
Привет, я думаю, вам лучше использовать Liberica JDK [1] или ZuluFX [2].
См. FAQ [3] по AdoptOpenJDK.
Рекомендую Liberica JDK!

Вы знаете, какие патчи включает ZuluFX? В прошлый раз я проверил, что они не публикуют свои исходники в двоичных файлах, и нужно было запросить их за плату за передачу.
У меня был положительный звонок в BellSoft по поводу патчей, которые они используют для LibericaFX 8, и о том, могут ли они предоставить информацию о них. Я не знаю, удалось ли им это уже реализовать.

@wicadmin мы перешли на Amazon Coretto https://aws.amazon.com/corretto/

Как уже упоминалось, версия OpenJFX 8, включенная в Corretto, устарела и имеет известные уязвимости. В их версии также отсутствует поддержка WebKit. Некоторое время назад я создал несколько PR, но они по сути их игнорируют.

Я перепробовал все до единого. У некоторых есть старые компоненты JFX. Я застрял на Java 8 для нашего приложения.

С какими проблемами вы столкнулись при сборках из проекта ojdkbuild? Причина, по которой я основал свой репозиторий OpenJFX 8 на ojdkbuild, заключается в том, что мне нужны были обновленные сборки, отличные от Windows, и я хотел получить представление обо всех включенных патчах. Ни одна из других сборок не могла удовлетворить это в то время.

Если кто-то хочет, чтобы AdoptOpenJDK предоставлял сборки с OpenJFX 8 (или новее), мы будем рады сделать это, если надежный разработчик исправлений сделает шаг вперед, который знает, что делает. Создавать сборки легко, а поддерживать OpenJFX 8 в актуальном состоянии - нет.

Если кто-то хочет, чтобы AdoptOpenJDK предоставлял сборки с OpenJFX 8 (или новее), мы будем рады сделать это, если надежный разработчик исправлений сделает шаг вперед, который знает, что делает. Создавать сборки легко, а поддерживать OpenJFX 8 в актуальном состоянии - нет.

В чем преимущества сборок AdoptOpenJDK? Для пользователей Windows я указываю на проект ojdkbuild (за которым стоит инженер RedHat). Для пользователей, отличных от Windows, их менеджер пакетов операционной системы обычно имеет лучшую сборку OpenJDK.

Основываясь на работе ojdkbuild, я создаю вариант OpenJDK с OpenJFX 8, используя исходные коды RedHat. Что даст мне переключение или предоставление сборок с использованием Adopt?

Для пользователей Windows я указываю на проект ojdkbuild (за которым стоит инженер RedHat).

У нас есть дюжина (или около того) инженеров Red Hat: wink:

Для пользователей, отличных от Windows, их менеджер пакетов операционной системы обычно имеет лучшую сборку OpenJDK.

[нужна цитата]

Я согласен на вкусы Red Hat. У пакетов Debian и его разновидностей исторически были проблемы, особенно с JPMS и jpackage.

Основываясь на работе ojdkbuild, я создаю вариант OpenJDK с OpenJFX 8, используя исходные коды RedHat. Что даст мне переключение или предоставление сборок с использованием Adopt?

Если вам нравится то, что у вас есть, это здорово, особенно если вам нравится создавать OpenJDK самостоятельно. Я только хотел отметить, что мы не против предложения OpenJFX 8, но не делали этого в прошлом, потому что мы не нашли никого, кто мог бы его поддерживать. А если кто-то станет волонтером, мы будем рады предложить необходимую помощь.

У нас есть дюжина (или около того) инженеров Red Hat.

Это полезно знать :) Может быть, вы могли бы также отметить тот, который стоит за работой

_[нужна цитата]_

Я согласен на вкусы Red Hat. У пакетов Debian и его разновидностей исторически были проблемы, особенно с JPMS и jpackage.

Я никогда не сталкивался с проблемами при выполнении yum / apt / pacman / etc. установки OpenJDK. Если есть предполагаемые проблемы с пакетами Debian, рассматривался ли он как непосредственный вклад в их улучшение?

Если вам нравится то, что у вас есть, это здорово, особенно если вам нравится создавать OpenJDK самостоятельно. Я только хотел отметить, что мы не против предложения OpenJFX 8, но не делали этого в прошлом, потому что мы не нашли никого, кто мог бы его поддерживать. А если кто-то станет волонтером, мы будем рады предложить необходимую помощь.

Я хочу сказать, что я не вижу пользы во внедрении OpenJFX в AdoptOpenJDK, поскольку я не знаю о преимуществах двоичных файлов Adopt. Как вы видите выше, есть запросы на предоставление OpenJFX для Windows. Это легко доступно в другом проекте, который менее известен, поскольку Adopt в основном предлагает использовать свои собственные двоичные файлы.

Что будет потеряно, если Adopt перестанет предоставлять двоичные файлы Windows и вместо этого будет указывать пользователям на проект ojdkbuild? По крайней мере, это принесет им поддержку OpenJFX.

Если есть предполагаемые проблемы с пакетами Debian, рассматривался ли он как непосредственный вклад в их улучшение?

Не совсем. Правильно делать пакеты Debian сложно, и если сопровождающие пакетов не могут понять это сами, то вряд ли сможем. Кроме того, политика выпуска дистрибутивов Linux плохо сочетается с расписанием OpenJDK (у вас может быть AdoptOpenJDK 15, работающий на Ubuntu Xenial). Тогда практически невозможно выполнить требования JCP в контексте дистрибутива OSS Linux. Мы медленно продвигаемся к цели без ограничений, которые есть у других.

Это легко доступно в другом проекте, который менее известен, поскольку Adopt в основном предлагает использовать свои собственные двоичные файлы.

Совершенно нормально использовать это в соответствии с положением, что это актуально (или вы знаете, что делаете). Если корпоративные клиенты запрашивают Java с JavaFX 8, я указываю им на Oracle JDK.

Что будет потеряно, если Adopt перестанет предоставлять двоичные файлы Windows и вместо этого будет указывать пользователям на проект ojdkbuild? По крайней мере, это принесет им поддержку OpenJFX.

Я не могу это комментировать, потому что я не знаком с проектом ojdkbuild. Наша миссия - предлагать высококачественные двоичные сборки OpenJDK, которые максимально соответствуют OpenJDK и могут использоваться без ограничений на использование на широком спектре платформ. Если бы все другие поставщики прекратили выпускать свои JDK, мы все равно были бы здесь и предлагаем бесплатную альтернативу Oracle JDK. Если люди предпочитают использовать что-то еще (Liberica, SapMachine, ...), это нормально для меня. Мы даже сами предлагаем несколько JDK, скоро на борту появится Dragonwell, и мы проводим QA для Amazon Corretto. AdoptOpenJDK - это не столько сами двоичные сборки, сколько место для сборок OpenJDK и связанных проектов, у которых есть необходимые ресурсы (инфра, люди, деньги).

Не совсем. Правильно делать пакеты Debian сложно, и если сопровождающие пакетов не могут понять это сами, то вряд ли сможем.

Тогда мне любопытно, какие проблемы возникают, потому что на самом деле поддерживаемая версия Debian / Ubuntu позволяет устанавливать OpenJDK прямо из своих репозиториев, и вы получаете последнее обновление для версий LTS (8 и 11). Мы должны быть осторожны, чтобы не обсуждать вопросы, которых на самом деле может не быть.

Если корпоративные клиенты запрашивают Java с JavaFX 8, я указываю им на Oracle JDK.

Это не даст вам источников или какой-либо реальной информации, поэтому вы потеряете некоторые преимущества OpenJDK. Разве я не ошибаюсь и Oracle предоставляет исходный код для своих сборок? Бинарные файлы с соответствующими инструкциями для их компиляции из исходного кода - одно из самых больших преимуществ OpenJDK.

Наша миссия - предлагать высококачественные двоичные сборки OpenJDK, которые максимально соответствуют OpenJDK и могут использоваться без ограничений на использование на широком спектре платформ.

Сборок OpenJDK с ограничениями по использованию не существует. Это простое следствие GPL, которое дает свободу использовать программное обеспечение для любых целей.

AdoptOpenJDK - это не столько сами двоичные сборки, сколько место для сборок OpenJDK и связанных проектов, у которых есть необходимые ресурсы (инфра, люди, деньги).

Это действительно здорово. Но тогда действительно было бы неплохо продвигать сборки из других источников? Возможно, это может быть так же просто, как запись в FAQ с «Что насчет OpenJFX?» и указав на список альтернатив, которые его объединяют (с примечанием, что вы не можете поручиться за эти сборки). Это также может быть более подробный обзор, включая услуги QA.

Тогда мне любопытно, какие проблемы возникают, потому что на самом деле поддерживаемая версия Debian / Ubuntu позволяет устанавливать OpenJDK прямо из своих репозиториев, и вы получаете последнее обновление для версий LTS (8 и 11).

В качестве примера: https://bugs.launchpad.net/ubuntu/+source/openjdk-14/+bug/1868699

Это не даст вам источников или какой-либо реальной информации, поэтому вы потеряете некоторые преимущества OpenJDK.

Да, но, насколько мне известно, это единственный поставщик, у которого есть полностью пропатченный Java FX 8 и который будет делать это до 2022 года. Большинство людей не заботятся о возможности компилировать из исходников.

Сборок OpenJDK с ограничениями по использованию не существует. Это простое следствие GPL, которое дает свободу использовать программное обеспечение для любых целей.

Вы неправильно истолковываете то, что я написал. OpenJDK - это проект только с исходным кодом (в основном). Мы здесь, чтобы убедиться, что существует хотя бы одна двоичная сборка OpenJDK.

Возможно, это может быть так же просто, как запись в FAQ с «Что насчет OpenJFX?» и указав на список альтернатив, которые его объединяют (с примечанием, что вы не можете поручиться за эти сборки).

https://adoptopenjdk.net/faq.html#openjfxfaq

Тогда мне любопытно, какие проблемы возникают, потому что на самом деле поддерживаемая версия Debian / Ubuntu позволяет устанавливать OpenJDK прямо из своих репозиториев, и вы получаете последнее обновление для версий LTS (8 и 11).

В качестве примера: https://bugs.launchpad.net/ubuntu/+source/openjdk-14/+bug/1868699

Спасибо! Это дает лучшее понимание того, почему существует Adopt :)

Да, но, насколько мне известно, это единственный поставщик, у которого есть полностью пропатченный Java FX 8, и он будет делать это до 2022 года.

https://adoptopenjdk.net/faq.html#openjfxfaq

Отлично!! Может быть, вы тоже могли бы указать https://github.com/ojdkbuild/ojdkbuild ? Намерение - до мая 2026 года.

Большинство людей не заботятся о возможности компилировать из исходников.

Нужна цитата ;)

Отлично!! Может быть, вы тоже могли бы указать https://github.com/ojdkbuild/ojdkbuild ? Намерение - до мая 2026 года.

Это openjfx-8.0.202-1.b15.ojdkbuild.windows.x86_64.zip (источник: https://github.com/ojdkbuild/ojdkbuild/releases/tag/java-1.8.0-openjdk-1.8.0.275-1 .b01) что там написано? Это было бы тревожно. Или спросить иначе: где я могу найти дополнительную информацию о том, какие исправления были применены?

Где я могу найти дополнительную информацию о том, какие исправления были применены?

Все патчи здесь: https://github.com/ojdkbuild/upstream_openjfx-8u

Однако это дерево строится только в Windows. Также отсутствует оригинальная история. Поэтому, когда я спросил о поддержке GNU / Linux, мне посоветовали повторно импортировать репозиторий Mercurial с его историей и поместить соответствующие патчи поверх.
https://github.com/ojdkbuild/ojdkbuild/issues/87#issuecomment -502648409

Как будто этого никто не делал, я сам:
https://github.com/jschwartzenberg/openjfx8

Я добавил еще несколько исправлений, таких как одно, чтобы он компилировался в дистрибутивах с более новой glibc. Этот репозиторий должен компилироваться как минимум на RHEL6 (и выше) и последних версиях Fedora.

Jfxwebkit.dll кажется ошибочным. Версия @benbrummer на 232 намного больше, чем у ojdkbuild. Когда это используется (панель jfx с веб-просмотром), приложение переходит в состояние отсутствия ответа, предположительно, когда есть некоторые сетевые условия, такие как сброс TCP-соединения.

Jfxwebkit.dll кажется ошибочным. Версия @benbrummer на 232 намного больше, чем у ojdkbuild. Когда это используется (панель jfx с веб-просмотром), приложение переходит в состояние отсутствия ответа, предположительно, когда есть некоторые сетевые условия, такие как сброс TCP-соединения.

Вы комбинируете оверлей со сборкой Adopt или используете полную версию ojdkbuild? В последнем случае я бы посоветовал сообщить о проблеме в системе отслеживания проблем ojdkbuild. Желательно с тестовым набором. По моему опыту, WebView через WebKit отлично работает со сборками ojdkbuild.

Jfxwebkit.dll кажется ошибочным. Версия @benbrummer на 232 намного больше, чем у ojdkbuild. Когда это используется (панель jfx с веб-просмотром), приложение переходит в состояние отсутствия ответа, предположительно, когда есть некоторые сетевые условия, такие как сброс TCP-соединения.

Вы комбинируете оверлей со сборкой Adopt или используете полную версию ojdkbuild? В последнем случае я бы посоветовал сообщить о проблеме в системе отслеживания проблем ojdkbuild. Желательно с тестовым набором. По моему опыту, WebView через WebKit отлично работает со сборками ojdkbuild.

Да, я использовал ojdkbuild и наложил jfx из ojdkbuild.

Только элементы jfx, связанные с webview / webkit, похоже, работают лучше, скомпилированные вокруг 232 версий (от benbrummer) openjdk, но дают эту ошибку:

java.lang.UnsatisfiedLinkError: com.sun.webkit.WebPage.twkUpdateRendering(J)V

Если не была произведена серьезная очистка, мы говорим о разнице в размере jfxwebkit.DLL на 6 МБ (размер ojdkbuild на 6 МБ меньше, чем у @benbrummer .

Мне интересно, вызывает ли эта проверка добавления потока событий в этом патче неотвечающий процесс javaw.exe в Windows?
https://github.com/jschwartzenberg/openjfx8/commit/5ec80a12039b73c1d27fcab9bde17b4b6852516c#diff -ddb457cb213b5c9647b2d6ed7ac555851c162cdddddc190e

Да, я использовал ojdkbuild и наложил jfx из ojdkbuild.

Я провел большую часть тестирования в Windows с 8u222 сам. Может быть, вы могли бы увидеть, работают ли старые сборки лучше.

Если не была произведена серьезная очистка, мы говорим о разнице в размере jfxwebkit.DLL на 6 МБ (размер ojdkbuild на 6 МБ меньше, чем у @benbrummer .

Я подозреваю, что это связано с тем, как выполняется компиляция, а в @benbrummer больше статически связанных библиотек. Кажется, что @ojdkbuild использует динамическую компоновку и включает довольно много дополнительных DLL.

Мне интересно, вызывает ли эта проверка добавления потока событий в этом патче неотвечающий процесс javaw.exe в Windows?
jschwartzenberg / openjfx8 @ 5ec80a1 # diff -ddb457cb213b5c9647b2d6ed7ac555851c162cddd5c0ea2a371973755edd75cd

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

Сборка OpenJFX для Windows довольно сложна (IMO). Если у вас есть вариант GNU / Linux для тестирования и проблема воспроизводится там, было бы легче определить точную фиксацию. Я мог бы помочь вам, если у вас возникнут проблемы со сборкой оверлея OpenJFX из моего репозитория.

Я провел большую часть тестирования в Windows с 8u222 сам. Может быть, вы могли бы увидеть, работают ли старые сборки лучше.

Да, я только что протестировал odjkbuild JRE с odkjbuild openjfx 8 и заменил только jfxwebkit.dll из @benbrummer, и, похоже, добился полного успеха.

Я подозреваю, что это связано с тем, как выполняется компиляция, а в @benbrummer больше статически связанных библиотек. Кажется, что @ojdkbuild использует динамическую компоновку и включает довольно много дополнительных DLL.

Возможно, что бы это ни было, кажется, что это имеет значение при статической компиляции.

Сборка OpenJFX для Windows довольно сложна (IMO). Если у вас есть вариант GNU / Linux для тестирования и проблема воспроизводится там, было бы легче определить точную фиксацию. Я мог бы помочь вам, если у вас возникнут проблемы со сборкой оверлея OpenJFX из моего репозитория.

К сожалению, это приложение только для Windows. Однако я посмотрю, как он работает в Linux.

Возможно, что бы это ни было, кажется, что это имеет значение при статической компиляции.

Или это разница в версиях. WebKit довольно сильно изменился между обновлениями, также были представлены новые версии WebKit (исправляющие уязвимости).

К сожалению, это приложение только для Windows. Однако я посмотрю, как он работает в Linux.

Эти технологии предназначены для того, чтобы одно и то же программное обеспечение могло работать на любой платформе, поддерживаемой средой выполнения. Должно быть интересно посмотреть, работает ли это!

Если есть обновление документации, которое мы можем сделать для блога или веб-сайта, PR приветствуются.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги