A proposed maturity model for classifying how well Java libraries, frameworks, and tools support the Java Platform Module System (JPMS). The model defines four levels (0–3): Level 0 projects break on Java 9+, Level 1 projects work on Java 9+ without actively supporting modules, Level 2 projects provide minimal module support (e.g., defining automatic module names, using the module path), and Level 3 projects offer full interoperability with modular JARs, configurable dependency distribution strategies, and multiple test-running modes. The model distinguishes between tools (IDEs, build tools) and dependencies (libraries, frameworks), noting that each may require separate assessment. Real-world examples from IntelliJ, Eclipse, Maven plugins, Log4J, and JUnit 5 illustrate each level. The post also acknowledges the complexity of versioning when Java itself evolves.
Sort: