Issue with JavaFX and Jigsaw
Kevin Rushforth
kevin.rushforth at oracle.com
Mon Apr 17 19:56:53 UTC 2017
The current implementation effectively requires that the containing
package of the type in question be exported unconditionally, since
javafx.beans uses the sun.reflect.misc.Trampoline class to reflectively
call the module. It happens to work if the user exports or opens the
package to ALL-UNNAMED on the command line, but that isn't something we
would want to document or recommend. Without changing the implementation
(which would be quite risky for JDK 9), it seems best to just require
the application's package to be unconditionally exported in JDK 9 and
then relax this requirement in JDK 10 to allow it to be exported (or
opened) just to javafx.base.
-- Kevin
Alex Buckley wrote:
> On 4/10/2017 3:56 PM, Kevin Rushforth wrote:
>> The short version is that JavaFX beans is (mostly) working as expected,
>> except for the misleading exception message. In JDK 9 it is required
>> that any object that is reflected on by JavaFX beans, specifically the
>> items passed to TableView, which are accessed via a
>> PropertyValueFactory, will need to be in a package that is exported
>> unconditionally. In JDK 10 we can look into relaxing this requirement
>> such that the package only needs to be exported to javafx.beans.
>
> "exported unconditionally" -- sorry to be picky but this guidance
> needs to be a bit tighter. Can't the user export to a (possibly large)
> set of javaxfx.* modules, rather than unconditionally? Is it OK to
> _export_ the package (rather than open it) because beans will access
> only its public types/members? What if the user opens the package
> anyway (rather than exports it)? I don't know the relationship between
> the PropertyValueFactory type and the type of the items passed to
> TableView, but I think the high-level requirement is: some user type
> must be accessible to JavaFX code, and that is achieved by exporting
> or opening the type's package to at least the javafx.* modules.
>
> Alex
More information about the jigsaw-dev
mailing list