Updates to CLI options

Alan Bateman Alan.Bateman at oracle.com
Wed Apr 26 19:11:24 UTC 2017

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` 

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.


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

More information about the jigsaw-dev mailing list