Java 25 Deprecated-API Warnings on RHEL 9.7
After upgrading to Java 25 on RHEL 9.7, IronPDF for Java logs deprecated-API warnings that reference internal Java APIs such as sun.misc.Unsafe::allocateMemory. PDF generation keeps working; the warnings are informational, but they can raise compliance concerns in regulated environments.
The warnings come from the gRPC/Netty transport libraries IronPDF uses internally, not from IronPDF's own code. Those libraries still call sun.misc.Unsafe for direct memory access. Java 23 deprecated the sun.misc.Unsafe memory-access methods for removal (JEP 471), and Java 24 and later warn when they are used (JEP 498), which is why the warnings surface now.
Solution
1. Confirm the warnings are non-blocking
Check that rendering still succeeds before changing anything. The messages are warnings, not errors, and no runtime issues have been observed. PDF generation functions as expected, so you are clearing noise, not fixing a fault.
2. Add the access flags to your JVM startup arguments
Pass these options when launching your application so the JVM opens the internal package the transport libraries require:
--enable-native-access=ALL-UNNAMED
--sun-misc-unsafe-memory-access=allow
--enable-native-access=ALL-UNNAMED
--sun-misc-unsafe-memory-access=allow
The first flag permits native access for unnamed modules; the second re-enables the sun.misc.Unsafe memory API the gRPC/Netty stack depends on. Neither changes IronPDF behaviour; together they suppress the deprecation warnings.


