I think the new reachability JSON files means that we'll need to raise the baseline for GraalVM's native image generation. We'll also want to look at how we can make the experience nice with buildpacks.

Comment From: snicoll

@philwebb what do you mean by "how we can make the experience nice with buildpacks."?

Comment From: philwebb

I can't remember exactly what I meant. I might have been ensuring that mvn -Pnative spring-boot:build-image didn't accidentally use an older JDK that has no idea about the new JSON format.

Comment From: mhalbritter

Currently, the buildpacks select a native image matching the JDK version, e.g. building with JDK 17 uses native image 17. Setting the JDK to 25 also uses native image 25. We need to find a way to always use at least Java 25 when we're on Boot 4+.

If that doesn't work, we can document building with Java 25, and set javac -release to something lower. Doing this will still use native image 25.

Comment From: mhalbritter

I've opened https://github.com/paketo-buildpacks/spring-boot/issues/562.