On Wed, 16 Oct 2024 14:55:34 GMT, Jan Lahoda <jlah...@openjdk.org> wrote:
>> Currently, running `java` without any parameters will lead to an output that >> is a full `--help`, which is over 100 lines (on my computer at least), and >> it feels overwhelming. And many people might actually want to run >> JShell/REPL, not the `java` launcher, but it is difficult find out about >> JShell. >> >> The proposal herein is to print a much shorter help, together with a pointer >> to JShell, when the launcher does not know what to do. I.e. there is nothing >> specified to start, and no option like `--help` is specified. In particular, >> on my machine, it prints: >> >> $ java >> openjdk 24-internal 2025-03-18 >> >> Usage: java [java options...] <application> [application arguments...] >> >> Where <application> is one of: >> <MainClass> to execute the main method of a compiled class >> -jar <JarFile>.jar to execute the main class of a JAR archive >> -m <module>[/<MainClass>] to execute the main class of a module >> <SourceFile>.java to compile and execute a single-file program >> >> Where key java options include: >> --class-path <class path> >> a ":"-separated list of directories and JAR archives to search for >> class files >> --module-path <module path> >> a ":"-separated list of directories and JAR archives to search for >> modules >> >> For more details about this launcher: java --help >> For an interactive Java environment: jshell >> >> >> Hopefully, this may be easier both for people trying to run something, and >> for people that are really looking for JShell. >> >> What do you think? >> >> Thanks! > > Jan Lahoda has updated the pull request incrementally with one additional > commit since the last revision: > > Adjusting the concise help as suggested: 'using main class of a JAR > archive' and '<JarFile>.jar'/'<SourceFile>.java' src/java.base/share/classes/sun/launcher/resources/launcher.properties line 49: > 47: \ -classpath <class search path of directories and zip/jar files>\n\ > 48: \ --class-path <class search path of directories and zip/jar files>\n\ > 49: \ A "{0}"-separated list of directories, JAR archives,\n\ The usual way to express this is with the word i.e. comma-separated, semi-colon-separated and colon-separated. Not sure if that is possible given the way substitution happens here. Though you could do what the manpage does i.e. Specifies a list of directories, JAR files, and ZIP archives to search for class files. On Windows, semicolons (;) separate entities in this list; on other platforms it is a colon (:). ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21411#discussion_r1803929464