anchor.diff:  cd classes && jar -cvef CheckSum ../checksum.jar * && cd ..
   ----
   
  -// CAUTION: Note the unusual syntax of the `jar` tool: the options `-e` (for the `Main-Class` entry-point) and `-f` (for the resulting jar file name) must be clustered together with the `-c` (create) option, and their parameters must be specified together, following the options, in the same order as the options. Surprisingly, the standard way to specify these options (`jar -cv -e CheckSum -f ../checksum.jar *`) does not work. Avoid such surprises in your own CLI applications!
  -
  -
   You can see the generated configuration files are in the `META-INF/native-image/picocli-generated/` directory inside the jar:
   ----
   jar -tf checksum.jar
  
positive.code: 
  image::checksum-usage-help.png[]
  
  //image::checksum-help-ja.png[width=100%]
  
  In general, applications should only output colors when they are used interactively; when executing a script we don’t want the log file cluttered with ANSI escape codes. Fortunately, picocli takes care of this automatically. This brings us to the next topic: good CLI apps are designed to be combined with other commands.
  
  === Great CLI Apps Work Well with Others
  
negative.code: 
  https://www.graalvm.org/docs/reference-manual/native-image/[GraalVM Native Image] allows you to ahead-of-time compile Java code to a standalone executable, called a native image. This executable includes the application, the libraries, the JDK and does not run on the Java VM, but includes necessary components like memory management and thread scheduling from a different virtual machine, called “Substrate VM”. Substrate VM is the name for the runtime components (like the deoptimizer, garbage collector, thread scheduling etc.). The resulting program has faster startup time and lower runtime memory overhead compared to a Java VM.
  
  === Native Image Limitations
  
  To keep the implementation small and concise, and also to allow aggressive ahead-of-time optimizations, Native Image does not support all features of Java. The full set of https://github.com/oracle/graal/blob/master/substratevm/LIMITATIONS.md[limitations] is documented on the GitHub project.
  