Как я могу заставить свой java-компилятор распознавать более старую версию OpenJFX для Java 8 в Ubuntu Linux? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытался следовать этому решению, Почему JavaFX не включен в OpenJDK 8 в Ubuntu Wily (15.10)? , но, к сожалению, устарел.Я нашел пакет openjfx, который мне нужен здесь: https://launchpad.net/~tj/+archive/ubuntu/java-for-14.04

Пакет отлично устанавливается, под / usr / lib / jvm / java-8-openjdk-amd64 / jre /lib и я могу найти jfxswt.jar и jfxrt.jar в папке ext.Проблема в том, что Java-компилятор не знает, что они здесь.Я попытался явно указать на их местоположение через javac -cp и объявить путь к классам в .bashrc.В обеих ситуациях я объявил их так: ".: / Usr / lib / jvm / java-8-openjdk-amd64 / jre / lib / jfxswt.jar: / usr / lib / jvm / java-8-openjdk-amd64 / jre / lib / ext / jfxrt.jar "

После компиляции: javac -cp".: / usr / lib / jvm / java-8-openjdk-amd64 / jre/lib/jfxswt.jar:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar "EventsDemo.java

Терминальный вывод:

EventsDemo.java: 1: ошибка: пакет javafx.application не существует import javafx.application.Application;

Короче говоря, я думаю, что-то не так сclasspath и я хотел бы знать, как заставить мой компилятор распознавать JavaFX.Я надеюсь, что предоставил достаточно информации.Я бы предпочел решение, не требующее использования IDE, поскольку я пытаюсь понять, как компилятор обрабатывает эти вещи.Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

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

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Эта версия содержит правильную версию JavaFX, и я просто указалдля этой установки используется .bashrc, а JavaFX работает без проблем с classpath, как и должно быть.

...