>From the blog at The State of the Module System <http://openjdk.java.net/projects/jigsaw/spec/sotms/> , I see that project jigsaw would support bottom-up migration to modular. But somehow it did not work for me . Following is my application structure
NonModule(com.nonmodule) depends on Module(com.module) Module-- |-module-info.java (exports module1) |module1| | Module1Class.java NonModule-- |nonmodule| | NonModuleClass.java (depends upon module1.Module1Class) Build for module1: javac -modulepath mods -d mods/module1 module1/src/module-info.java module1/src/module1/Module1Class.java jar --create --file=mlib/module1.jar --module-version=1.0 -C mods/module1 . Build for nonmodule: javac -classpath mlib -d classes/nonmodule nonmodule/src/nonmodule/NonModuleClass.java jar --create --file=jars/nonmodule.jar --main-class=nonmodule.NonModuleClass -C classes/nonmodule . Now when executing with : java -mp mlib -classpath jars -jar jars/nonmodule.jar Exception in thread "main" java.lang.NoClassDefFoundError: module1/Module1Class at nonmodule.NonModuleClass.sayHello(NonModuleClass.java:8) at nonmodule.NonModuleClass.main(NonModuleClass.java:14) Caused by: java.lang.ClassNotFoundException: module1.Module1Class at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-ea /BuiltinClassLoader.java:366) -- Best Regards, Vishal Jain