javajavafx

Errors after updating Java 23 and JavaFX 22 to Java 24 and JavaFX 24


After updating to JavaFX 24 and Java 24, I got the following warnings:

WARNING: package sun.misc not in java.base WARNING: A terminally deprecated method in sun.misc.Unsafe has been called WARNING: sun.misc.Unsafe::allocateMemory has been called by com.sun.marlin.OffHeapArray (file:/C:/Program%20Files/Java/javafx-sdk-24/lib/javafx.graphics.jar)

WARNING: Please consider reporting this to the maintainers of class com.sun.marlin.OffHeapArray

WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release

The main application runs just fine, but it just throws this warning


Solution

  • See the Release Notes for JavaFX 24, which says:

    Known Issues

    JavaFX Warning Printed for Use of Terminally Deprecated Methods in sun.misc.Unsafe

    Running a JavaFX application on JDK 24 will produce a warning the first time any UI Control or complex shape is rendered:

    WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
    ...
    WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
    

    To disable this warning, pass --sun-misc-unsafe-memory-access=allow to java on the command line. For example:

    java --sun-misc-unsafe-memory-access=allow
    

    This will be fixed in a subsequent version of JavaFX, after which time this flag will no longer be needed.

    See JDK-8345121 for more information.