A cheat sheet for building and running Java modules from the command line with
Oliver and I discuss modularity in Java with a focus on the Java module system
Java's module system requires consistent support by libraries, frameworks, and tools. This maturity model classifies a project's support for the JPMS.
At J-Fall 2018 I talked to Sander Mak, modularity expert at Luminis, about the Java module system (J_MS), its adoption, how it compares to OSGi, and more.
A 1 to 2-day course on the Java module system, from motivation and basics to underlying concepts and advanced features to migration and modularization of existing projects
Showing code for the most important Java 9 features: private interface methods, stream and optional APIs, collection factories, reactive streams, stack walking, multi-release JARs, redirected platform logging, unified logging, the module system, and more. If you're new to Java 9, start here.
Using annotations from JSR-305 (
@PostConstruct) on Java 9 causes a split package. Here's the fix.
Tutorial of Java 9 module system basics: declare modules with module-info.java, compile, package, launch them, learn of module path and readability graph.
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.
A live-coding talk where we take a typical Java 8 code base and update it to Java 9 and beyond, overcoming some common and some less common hurdles like dependencies on internal APIs and split packages
Solutions to the seven most common challenges for a Java 9 migration. Each of them explained with background, symptoms, and fixes.
JDeps is a dependency analysis tool for Java bytecode (class files and JARs). Learn how to use filters, aggregate results, and create diagrams.
The Java Platform Module System allows optional dependencies with
requires static. They are accessible at compile but can be absent at run time.
Reflection wants to break into all code; encapsulation wants to give modules a safe space. How can this stand off be resolved?
In this talk, I go beyond the module system basics and present more advanced features for those who want to become their team's module system expert