Java 25: Address runtime warnings and deprecations
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Overview
Track and address Java 25 runtime warnings and API deprecations discovered during smoke testing.
Created from Issue: #34564 (Java 25 dotCMS image for smoke testing)
Status: Non-blocking - dotCMS runs successfully with these warnings
Priority: Low - These are future compatibility issues, not current blockers
1. ZGenerational GC Option Removed ⚠️
Warning:
OpenJDK 64-Bit Server VM warning: Ignoring option ZGenerational; support was removed in 24.0
Impact: Medium - JVM ignores the flag silently
Action Required:
- Remove
-XX:+ZGenerationalfrom JVM configuration - Update Docker entrypoint scripts
- Update documentation for Java 25+ deployments
2. sun.misc.Unsafe Deprecations
Warning:
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::arrayBaseOffset will be removed in a future release
Impact: Low - Used by third-party libraries (Disruptor 3.3.4)
Action Required:
- Monitor for updated library versions
- Track upstream Java removal timeline
3. Restricted Methods Warning
Impact: Low - Informational for future JDK releases
Action Required:
- Evaluate
--enable-native-access=ALL-UNNAMEDflag
Testing Notes
Environment: Java 25.0.1+8-LTS (Microsoft), 969MB container
Status: ✅ Successful startup in 21.4 seconds
Conclusion: All warnings are expected and non-blocking
Acceptance Criteria
- Remove ZGenerational GC flag from JVM options
- Document Java 25 warnings for customers
- Check for library updates avoiding sun.misc.Unsafe
- Evaluate need for --enable-native-access flag
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the JVM configuration and Docker entrypoint scripts, then reproduce the Java 25 smoke test described in the issue to confirm the warnings. Done means the ZGenerational option is removed, Java 25 warnings are documented, library updates are checked, and the native-access flag is evaluated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java
- Domain
- backend, devops
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100