There is –module-path beyond –class-path!
summary
A Java app is forced to migrate because Truffle Unchained starts requiring Java modules, so jars become module-jars and service discovery changes. Migration exposes concrete problems: split packages across jars, fat-jar bundling, Maven vs SBT behavior, and illegal-access errors in newer JDKs. Fix involves moving classes into single modules, adding module-info, and avoiding the patch-module hack (which regresses benchmarks). The end result is separate modular JARs on the module-path that run and produce the same output after ~2–3 months of work.
AI-written summary · about
chapters (12)
- 0:00Introduction and motivation
- 11:28Java modules basics
- 17:54History of Java modularity
- 21:06Q&A session
- 27:26Converting fat JAR to modules
- 32:50Handling split packages
- 36:47Challenges and solutions
- 40:23Module path vs class path
- 42:37Types of modules
- 44:24Third-party library issues
- 47:59Build tools and modularity
- 49:25Conclusion and benefits
related talks
49mTo JAR Hell And Back - A Live Migration to the Java 9 Module System
48mThe Java Module System in practice
47mMigrating to Modules
54mBeginning Java 9 Modules
50mJDK 11: Pitfalls for the Unwary
49mModular Development with JDK 9
23mWhat should I care about JDK 9 module system?
46mModular Development with JDK 9 and Beyond
