Запустить OpenJFX с OpenJDK 8?

#java #openjfx

#java #openjfx

Вопрос:

Я пытаюсь запустить приложение OpenJDK 8 с интерфейсом JavaFX (openjfx). Когда я пытаюсь скомпилировать свой код, я получаю следующую ошибку: файл класса имеет неправильную версию 55.0, должно быть 52.0.

Итак, мой вопрос: они вообще несовместимы?

Интересно, потому что под OpenJDK 11 это, кажется, работает (по крайней мере, компиляция), но я не нахожу что-то об этом в Интернете.

Я знаю, что ошибка означает, что существует сочетание разных версий Java, но мне интересно, как это возможно. Доступен ли OpenJFX только в двоичном формате для Java11?

Примечание: я включаю openjfx версии 11 через maven в свой проект.

Комментарии:

1. Как вы компилируете свое приложение? На JDK 11? По умолчанию это означает, что для запуска вам понадобится JDK 11 или более поздняя версия. В скомпилированный Java-код встроено требование «версии». Вам нужно установить --release 8 параметр в javac значение для запуска вашего приложения под Java 8. Однако это может быть несовместимо с вашим исходным кодом при использовании OpenJFX 11. И вы не упомянули, как вы создаете свое приложение, кроме вашего упоминания maven , поэтому у меня нет точного ответа для вас.

2. Как @baliman ответил ранее, OpenJFX jar, очевидно, был скомпилирован с Java 11. Возьмите более раннюю версию.

3. Я использую самую раннюю версию, которую я уже могу найти (11-ea 19). Я компилирую с помощью IntelliJ и maven. Я могу включить только —release для java 9 в пользовательском интерфейсе компилятора IntelliJ:(.

4. Вы можете попробовать ZuluFX, который представляет собой сборку OpenJDK с включенным OpenJFX. В настоящее время у них есть версии 8 и 11 (хотя и не 11 для Linux, не уверен, почему).

5. Я также сталкиваюсь с той же проблемой при попытке включить openjfx с OpenJDK, но до сих пор не нашел никакого обходного пути. Если у вас есть решение, пожалуйста, дайте мне знать