Main.java0000644201305400204640000000071113665572506011235 0ustar iklamdbapackage com.hello; import com.foo.Test; public class Main { public static void main(String... args) { // System.out.println("Hello, " + Test.getString()); Class k = null; try { k = Class.forName("com.foo.Test"); System.out.println("Test found!"); } catch (ClassNotFoundException e) { System.out.println("ClassNotFoundException " + e); } } } Makefile0000644201305400204640000000346013665600760011144 0ustar iklamdba# make build # make dump # # (without CDS) # make runapp # make runapp0 # # (with CDS) # make cdsrunapp # make cdsrunapp0 JAVAC = ${JAVA_HOME}/bin/javac JAVA = ${JAVA_HOME}/bin/java build: cd mlib; ${JAVAC} -d . *.java && jar -cvf com.foo.jar `find . -name \*.class` ${JAVAC} --module-path mlib --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -d . Main.java jar cf hello.jar com/hello/Main.class runmodule: ${JAVA} --module-path mlib -m com.foo/com.foo.Test runapp: ${JAVA} --module-path mlib --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -cp hello.jar com.hello.Main runapp0: ${JAVA} -cp hello.jar com.hello.Main dump: ${JAVA} --module-path mlib/com.foo.jar --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -cp hello.jar -XX:DumpLoadedClassList=classlist com.hello.Main ${JAVA} --module-path mlib/com.foo.jar --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -cp hello.jar \ -Xshare:dump -XX:SharedArchiveFile=hello.jsa -XX:SharedClassListFile=classlist cdsrunapp: ${JAVA} --module-path mlib/com.foo.jar --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -cp hello.jar -XX:SharedArchiveFile=hello.jsa com.hello.Main cdsrunapp-grep: ${JAVA} --module-path mlib/com.foo.jar --add-modules=com.foo --add-exports=com.foo/com.foo=ALL-UNNAMED -cp hello.jar -XX:SharedArchiveFile=hello.jsa -verbose com.hello.Main | \ egrep '(Test)|(Main)' cdsrunapp0: ${JAVA} -cp hello.jar -XX:SharedArchiveFile=hello.jsa com.hello.Main cdsrunapp0-grep: ${JAVA} -cp hello.jar -XX:SharedArchiveFile=hello.jsa -verbose com.hello.Main | egrep '(Test)|(Main)' clean: find . -name \*~ -o -name \*.class -o -name \*jar -o -name \*jsa -o -name classlist | xargs rm -rf upload: clean rm -f *.tar tar cf all.tar * (cd ..; cp -av modules ~/cr.openjdk/jdk15/) com/0000755201305400204640000000000013665573641010266 5ustar iklamdbacom/hello/0000755201305400204640000000000013665600610011354 5ustar iklamdbamlib/0000755201305400204640000000000013665600610010416 5ustar iklamdbamlib/com/0000755201305400204640000000000013665572335011210 5ustar iklamdbamlib/com/foo/0000755201305400204640000000000013665600610011757 5ustar iklamdbamlib/Test.java0000644201305400204640000000026713665573524012222 0ustar iklamdbapackage com.foo; public class Test { public static String getString() { return "Test"; } public static void main(String args[]) { System.out.println("Test"); } } mlib/module-info.java0000644201305400204640000000005113665572627013513 0ustar iklamdbamodule com.foo { exports com.foo; }