2017 draws to a close and 2018 is knocking. My annual review and preview went to my newsletter, so subscribe or head over to Medium to read them.
Want to build with Maven on Java 9? Here’s which versions to pick, how to use the compiler executable, toolchains, and mavenrc to run Maven on Java 9, and how to use mvn/jvm.config and profiles to configure your build for Java 8 and 9.
Java 10 introduces ‘var’ which lets the compiler infer local variable types. Here’s how it works, why it exists, and how it impacts readability.
Using annotations from JSR-305 (@Nonnull, @Nullable, etc.) with others from the javax.annotation package (@Generated, @PostConstruct) on Java 9 causes a split package. Here’s the fix.
Learn all the module system basics in this tutorial: how to declare modules with module-info.java, compile, package, and launch them and what role the module path and readability graph play.
Java 9 introduces unified logging, a central mechanism configurable with -Xlog to observe class loading, threading, the garbage collector, the module system, etc.
Get your code running on the Java 9 Module System with the command line options –add-exports, –add-opens, –add-modules, –add-reads, and –patch-module.
Time to put your Java 9 knowledge into practice and plan your applications migration. Here’s how to get an overview of what needs to be done.
Migrating to Java 9 is no walk in the park, but it’s not intractable either. If you know how to fix these seven most common problems, you’ll be able to power through and make your project Java 9 compatible.
JDeps is a dependency analysis tool for Java bytecode, i.e. class files and JARs. This primer teaches you how to use filters, aggregate results, and create diagrams.