Add migration-17-25 module: Java 17 class files run on 17 and 25, flags, removed APIs, jdeps and jdeprscan
Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# migration-17-25
|
||||
|
||||
Companion module for the ankurm.com post *Java 17 to Java 25 Migration Guide: The Direct Jump*.
|
||||
|
||||
The probes in `src/probes/` are compiled **once** with JDK 17 (`--release 17`) and run unchanged on JDK 17.0.20.1 and JDK 25.0.4.1, which is what a team skipping 21 actually does. `src/removed/` holds four tiny sources that use APIs removed or newly deprecated between 17 and 25; they are compiled with both JDKs.
|
||||
|
||||
```bash
|
||||
export JDK17=/path/to/jdk-17 JDK25=/path/to/jdk-25
|
||||
./scripts/run-all.sh # regenerates output/
|
||||
```
|
||||
|
||||
| Output | Shows |
|
||||
|---|---|
|
||||
| `01-runtime-behaviour.txt` | Security Manager, `Thread.stop`, default charset, `finalize`, `Unsafe` on both runtimes |
|
||||
| `02-startup-flags.txt` | Which 17-era JVM options still start on 25 |
|
||||
| `03-compile-removed-apis.txt` | What `javac` says about four APIs on each JDK |
|
||||
| `04-jdeps-jdeprscan.txt` | The scanners run with JDK 25 tools against the JDK 17-built jar |
|
||||
| `05-gc-defaults.txt` | Default collector and heap ergonomics with no flags |
|
||||
| `06-legacy-stack-on-25.txt` | `mvn test` on JDK 25 for four generations of one Spring app (from `spring-boot-demo/openrewrite`) |
|
||||
| `07-framework-minimums.txt` | Vendor documentation quotes (not produced by running code) |
|
||||
Reference in New Issue
Block a user