Parameter für Java-9-Module mit Libraries

Veröffentlicht von

Hier mal eine Auflistung der Libraries und deren Parameter, bei Verwendung der Java-9-Module, die gesetzt werden müssen, damit die App läuft.

VM arguments

Nach Fehlermeldungen

VM arguments


JFoenix 9.0.8

// VM arguments (in Eclipse)
--add-exports javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix
--add-exports javafx.controls/com.sun.javafx.scene.control=com.jfoenix
--add-exports javafx.base/com.sun.javafx.binding=com.jfoenix
--add-exports javafx.graphics/com.sun.javafx.stage=com.jfoenix
--add-exports javafx.base/com.sun.javafx.event=com.jfoenix

// VM arguments (geht nur in Eclipse)
--add-opens javafx.graphics/com.sun.javafx.scene=com.jfoenix

// VM arguments (nach Export)
--add-opens javafx.graphics/com.sun.javafx.scene=ALL-UNNAMEDCode-Sprache: JavaScript (javascript)

ControlsFX 11

// VM arguments (in Eclipse)
--add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls
--add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls
--add-exports=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls
--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls
--add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls
--add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls
--add-exports=javafx.base/com.sun.javafx.collection=org.controlsfx.controls
--add-exports=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls
--add-exports=javafx.web/com.sun.webkit=org.controlsfx.controls

--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controlsCode-Sprache: JavaScript (javascript)

AutoCompletionBinding

--add-exports=javafx.base/com.sun.javafx.event=org.controlsfx.controls

BreadCrumbBar

--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls
--add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls

FilterPanel

--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controls

GlyphFont

--add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls

GridView

--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controls

NotificationPane

--add-exports=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls,
--add-exports=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls

TableRowExpanderColumn

--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controls

Nach Fehlermeldungen


JFoenix 9.0.8

module-info.java
requires com.jfoenix;Code-Sprache: CSS (css)
VM arguments in Eclipse
// Fehlermeldung
Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: 
class com.jfoenix.skins.JFXProgressBarSkin (in module com.jfoenix) cannot access 
class com.sun.javafx.scene.NodeHelper (in module javafx.graphics) 
because module javafx.graphics does not export com.sun.javafx.scene to module com.jfoenix

// Lösung (geht nur in Eclipse)
--add-opens javafx.graphics/com.sun.javafx.scene=com.jfoenixCode-Sprache: JavaScript (javascript)
VM arguments nach Export
// Achtung 
// Wenn das Programm exportiert wurde, dann muss das --add-opens geändert werden

// In Eclipse, vor Export
--add-opens javafx.graphics/com.sun.javafx.scene=com.jfoenix

// Nach Export
--add-opens javafx.graphics/com.sun.javafx.scene=ALL-UNNAMEDCode-Sprache: JavaScript (javascript)

ControlsFX 11

module-info.java
requires org.controlsfx.controls;Code-Sprache: CSS (css)
VM arguments in Eclipse
// Fehlermeldung
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public static com.sun.javafx.css.StyleManager com.sun.javafx.css.StyleManager.getInstance() accessible: module javafx.graphics does not "exports com.sun.javafx.css" to module org.controlsfx.controls
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
	at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
	at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
	at org.controlsfx.controls/impl.org.controlsfx.ReflectionUtils.addUserAgentStylesheet(ReflectionUtils.java:225)
	at org.controlsfx.controls/org.controlsfx.glyphfont.GlyphFont.<clinit>(GlyphFont.java:57)

// Lösung (in Eclipse)
--add-exports=javafx.graphics/com.sun.javafx.css=org.controlsfx.controlsCode-Sprache: JavaScript (javascript)