The contract for the tools should be (similarly from other tools, eg javac):
If the arguments are wrong or not specified: exit code != 0, usage output on stderr If -help or -h is specified: exit code == 0, usage output on stderr webrev: http://cr.openjdk.java.net/~sla/8027765/webrev.00/ bug: https://bugs.openjdk.java.net/browse/JDK-8027765 Thanks, /Staffan