The Cloud Foundry Java Buildpack adds jar files to a container while staging the application for running on CF. With Boot 2.3.0, these added jar files are not loaded when the application is started using the Spring Boot launcher, likely because they are not in the classpath index file that is generated with the fat jar that is typically exploded and sent to CF.
This causes Java Buildpack features like Spring Auto Reconfiguration, Client Certificate Mapper, Container Security Provider, MariaDB JDBC, and PostgreSQL JDBC to not work with Boot 2.3.0.
Comment From: wilkinsona
I guess this comment fell through the cracks. We could:
- Add files in
BOOT-INF/lib
that aren't in the index to the start of the classpath - Add files in
BOOT-INF/lib
that aren't in the index to the end of the classpath - Require the buildpack to update the index and put the files where it wants them to be
We could do 1 or 2 today and the buildpack could do 3 at some point in the future. 1 or 2 would then become a no-op as the index would be complete.
Comment From: scottfrederick
- Require the buildpack to update the index and put the files where it wants them to be
This would mean that older buildpacks without this change could not support Boot 2.3. That could be a problem for platform operators.
Comment From: wilkinsona
Yep. Hence the thought that we could do a mix of 1 or 2 and 3.