https://anilr8.medium.com/why-spring-boot-3-requires-java-17-and-above-a-detailed-explanation-70831ea227a3