# 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/)