У меня есть своя маленькая, но растущая библиотечная банка (Laniakea), которая доступна в частном репозитории Maven. Когда я хочу включить его в другой мой проект, я получаю следующее исключение:
Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: class de.blackhole.software.charon.ui.DeploymentDescriptorPanelController (in module Charon) cannot access class de.blackhole.software.laniakea.utils.Conversions (in module Laniakea) because module Laniakea does not export de.blackhole.software.laniakea.utils to module Charon
at Charon/de.blackhole.software.charon.ui.DeploymentDescriptorPanelController.setTexts(DeploymentDescriptorPanelController.java:200)
at Charon/de.blackhole.software.charon.ui.DeploymentDescriptorPanelController.setDescriptor(DeploymentDescriptorPanelController.java:148)
at Charon/de.blackhole.software.charon.ui.DeploymentDescriptorPanelController.lambda$init$0(DeploymentDescriptorPanelController.java:123)
at javafx.base/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:348)
at javafx.base/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
...
javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:556)
at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:942)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:830)
В обоих проектах используются файлы информации модуля. Харон:
module Charon {
requires javafx.fxml;
requires javafx.controls;
requires org.eclipse.paho.client.mqttv3;
requires postgresql;
requires java.sql;
requires jackson.core;
requires jackson.databind;
requires jackson.annotations;
requires toml4j;
requires Laniakea;
opens de.blackhole.software.charon to javafx.fxml;
opens de.blackhole.software.charon.ui to javafx.fxml, Laniakea;
opens de.blackhole.software.charon.data to javafx.base, jackson.databind;
exports de.blackhole.software.charon;
}
Ланиакя (библиотека):
module Laniakea {
requires javafx.fxml;
requires javafx.controls;
requires java.sql;
requires toml4j;
opens de.blackhole.software.laniakea to javafx.fxml;
opens de.blackhole.software.laniakea.ui to javafx.fxml;
exports de.blackhole.software.laniakea;
}