ОК, вот моя проблема.Я написал некоторый код с использованием Java 9, который прекрасно компилируется и работает при использовании JRE 10.0.2.Этот код имеет графический интерфейс, написанный на JavaFX, который позволяет пользователям выбирать каталоги для просмотра с помощью варианта этого кода: https://docs.oracle.com/javase/tutorial/essential/io/notification.html.
Я планировал использовать этот код в исследовательском проекте, где я запускаюэтот код на машинах других людей, которые могут иметь или не иметь привилегий администратора для самостоятельной установки JRE.Это означает, что я должен использовать поддерживаемую версию JRE, чтобы она не доставляла мне горя - это в основном означает Java 8 или Java 11.
Проблема: Мой код не работает ни с одним из нихверсия .Это оставляет меня в следующих случаях: (1) рефакторинг моего кода для совместимости с Java 8 или (2) рефакторинг моего кода для совместимости с Java 11.
Я сделал краткую попытку переключить свой языкот 9 до 8, но я получаю следующие ошибки:
java: package javafx.animation does not exist
java: package javafx.application does not exist
java: package javafx.concurrent does not exist
java: package javafx.geometry does not exist
(+ a few more javafx packages)
Java: package com.sun.nio.file does not exist
Я попытался выполнить поиск в Google и Stack Overflow для решения этой проблемы, но ничего не нашел.
Я также начал изучать использование Java 11, следуя этому посту: Intellij не может распознать javafx 11 с OpenJDK 11 , и я попробовал все возможные решения в потоке, но я получаю следующую ошибкусообщение:
JavaFX runtime components are missing, and are required to run this application
Как я могу решить эти проблемы?
Спасибо!
Обновление: я скачал JavaFX с https://openjfx.io/ и добавил это в свою библиотеку, что решило проблему со всем импортом JavaFX.Пакет com.sun.nio.file намного сложнее зафиксировать.