Я новичок в JavaFX, при интеграции controlsfx 11.0.2 с JavaFX 14.0.1, затем запустите mvn clean javax: run, возникает следующая ошибка:
Caused by: java.lang.IllegalAccessError: class impl.org.controlsfx.skin.NotificationPaneSkin (in module org.controlsfx.controls) cannot access class com.sun.javafx.scene.traversal.ParentTraversalEngine (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.scene.traversal to module org.controlsfx.controls
Также я добавил следующие аргументы виртуальной машины (в pom. xml), как упоминалось здесь :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${maven.compiler.release}</release>
<compilerArgs>
<arg>--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.base/com.sun.javafx.collections=org.controlsfx.controls</arg>
<arg>--add-exports=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls</arg>
<arg>--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controls</arg>
<arg>--add-opens=javafx.graphics/javafx.scene=org.controlsfx.controls</arg>
</compilerArgs>
</configuration>
</plugin>
Я использовал mvn -X, чтобы проверить аргументы времени выполнения и убедиться, что --add-exports уже применен.