Основная причина проблемы содержится в этой строке:
Caused by: java.lang.IllegalAccessException: class com.sun.javafx.application.LauncherImpl (in module javafx.graphics) cannot access class reports.Main (in module Reports) because module Reports does not export reports to module javafx.graphics
Application.launch
использует отражение для создания экземпляра класса приложения с использованием отражения.Внешним классам, таким как Application
, разрешен доступ к вашим классам только с помощью отражений, если класс находится в пакете, который открыт или экспортирован в модуль Application
(javafx.graphics
).
Вам необходимо добавитьодна из следующих строк вашего Reports
объявления модуля:
exports reports;
opens reports to javafx.graphics;
Последняя строка должна быть предпочтительной, поскольку она является более строгой.Если пакет reports
также не содержит, например, класс / метод main
, вам следует использовать первую строку.