Deploying an Application as a Module
If the object being annotated is in a named module then it must
be reflectively accessible to the javafx.fxml module.
Otherwise, the FXMLLoader will fail with an
InaccessibleObjectException when it attempts to modify the
annotated element.
An object is reflectively accessible if the module containing that
object opens the containing package to
at least the
javafx.fxml module.
For example, if the object being annotated is in the com.foo
package in the foo.app module, the module-info.java might
look like this:
module foo.app {
opens com.foo to javafx.fxml;
}
Alternatively, an object is reflectively accessible if it is declared
as a public member, is in a public class, and the module containing that
class exports the containing
package unconditionally.
- Since:
- JavaFX 2.0