Java 25 在 RHEL 9.7 中的已淘汰 API 警告
在 RHEL 9.7 上升級至 Java 25 後,IronPDF for Java 日誌記錄了已淘汰 API 警告,引用了如 sun.misc.Unsafe::allocateMemory 的內部 Java API。 PDF 生成持續運行; 這些警告是資訊性的,但在受規範的環境中可能引發合規性問題。
警告來自於 IronPDF 內部使用的 gRPC/Netty 傳輸庫,而非 IronPDF 本身的程式碼。 這些庫仍然調用 sun.misc.Unsafe 以進行直接記憶體存取。 Java 23 將 sun.misc.Unsafe 記憶體存取方法設為已淘汰以供移除 (JEP 471),在 Java 24 及之後版本會在使用時警告 (JEP 498),這也是這些警告出現的原因。
解決方案
1. 確認警告不會阻礙運行
在更改任何內容之前,請檢查渲染是否仍然成功。 這些訊息是警告,而非錯誤,且未觀察到任何運行時問題。 PDF 生成正常運行,因此您是在清除噪音,而不是修復錯誤。
2. 將存取標誌新增到您的 JVM 啟動參數中
在啟動應用程式時傳遞這些選項,使 JVM 打開傳輸庫所需的內部包:
--enable-native-access=ALL-UNNAMED
--sun-misc-unsafe-memory-access=allow
第一個標誌允許未命名模組的原生存取; 第二個重新啟用 gRPC/Netty 堆疊依賴的 sun.misc.Unsafe 記憶體 API。 兩者都不會更改 IronPDF 的行為; 它們一起抑制了已淘汰的 API 警告。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。