Just a quick note on some recent updates to the command line options.

Since early builds, `--list-modules` has allowed a module name to be specified so that the option describes a module rather than list the observable modules. This was always a bit strange and has finally been separated into its own option. `java --list-modules` lists the observable modules as before. A new option is `--describe-module <module-name>` (or `-d <module-name>` in short form) to describe a module. The `jar` tool also has a `--describe-module` option and its output has been adjusted so that the output is the same as the `java` launcher.

Also since early builds, `-Xdiag:resolver` was the option to print resolver diagnostic messages. This really odd option has now being replaced with `--show-module-resolution` to show resolution during startup. The output has been cleaned up to make it easier to read and search. In particular, you can now grep it for "bind" to more easily understand service binding.

A new option `--validate-modules` has been added to validate modules on the module path. This option scans the module path for errors before exiting. This should help with issues where JAR files are moved from the class path to the module path, in particular it will report split package issues and cases where JAR files contain classes in the same package as standard/JDK modules.

The tag for -Xlog has been renamed from "modules" to "module" so be consistent with "class". It can also be combined with "load" and "unload" so there is log output when modules are loaded and unloaded. The `-verbose` option lives on and `-verbose:module` is the equivalent of enabling module load and unload.

Most of these changes are already in the Jigsaw EA builds [1] for those that would like to try them out.

-Alan

[1] http://jdk.java.net/jigsaw/

Reply via email to