Code Examples

Java, Tools, and Framework versioning

I try to keep up-to-date all the libraries and frameworks in the code examples. However, I usually don’t update to a new version until they’re stable for some time to keep this blog realistic (when working in a company it’s not a wise idea to be updating all libraries as soon as they’re released).

Below you can find more specifics about the most used libraries and frameworks on this site.

Java

Most code repositories by The Practical Developer use Java as the programming language. For consistency, and to keep them useful over time, I’m trying to keep them updated to the latest Java version. Sometimes, this is not possible due to lack of time, or simply because a specific topic is only applicable to an older Java version.

In any case, all the content in this blog uses Java 8 or above.

Java 9: Backward Compatibility

Java 9 brought some updates but just a few are major and noticeable through the code examples of these posts, except for the ones dedicated to showcasing those features (e.g. Reactive Programming with Java 9 Flow).

You’ll see also some changes in the Maven dependencies of some projects when updating to Java 9. The dependencies jaxb-api, jaxb-runtime and javax.activation-api are now needed in the pom.xml file of some of the projects because those modules (used indirectly by some libraries) are deprecated and will be removed in Java 11.

I don’t use the module system in my examples so it should be relatively simple to backport the code to previous versions of Java. Some APIs have also been extended but there is always an older equivalent.

Java 10 and Backward Compatibility

I use often the convenient type inference available in Java 10 with the var keyword. And, same as with Java 9, I might use some API extensions not available in previous versions of Java. Again, it should be easy to backport with some code modifications but, if you struggle to make it work, just open an issue in the corresponding repository.

Spring Boot

Many posts on this site use Spring Boot as a framework to build web applications in a simple way. I try to keep the framework updated to a stable version, which means I should be using Spring Boot 2 in most of the cases but, for some old posts, you may still find a 1.5 version.

Questions about Code

The best option to ask me a question about the code or highlight something that you believe it’s a mistake is to open an issue in one of the repositories in GitHub. It doesn’t matter if you know that’s not an issue and you just have a question, open an issue and I’ll tag it as such.

Asking about code via comments on this site is hard and not very convenient (code snippets make the post just too long).