What is the difference between 'java', 'javaw', and 'javaws'?

java, java-web-start, javaw

Solution

See Java tools documentation for:

- `java` command1/`javaw` command2

- The `java` tool launches a Java application. It does this by starting a Java runtime environment, loading a specified class, and invoking that class's `main` method.

- The `javaw` command is identical to `java`, except that with `javaw` there is no associated console window. Use `javaw` when you don't want a command prompt window to appear.

- `javaws` command, the "Java Web Start command"

The `javaws` command launches Java Web Start, which is the reference implementation of the Java Network Launching Protocol (JNLP). Java Web Start launches Java applications/applets hosted on a network. If a JNLP file is specified, `javaws` will launch the Java application/applet specified in the JNLP file. The `javaws` launcher has a set of options that are supported in the current release. However, the options may be removed in a future release.

See also JDK 9 Release Notes Deprecated APIs, Features, and Options:

Java Deployment Technologies are deprecated and will be removed in a future release Java Applet and WebStart functionality, including the Applet API, the Java plug-in, the Java Applet Viewer, JNLP and Java Web Start, including the `javaws` tool, are all deprecated in JDK 9 and will be removed in a future release.

Problem

What is the difference between `java`, `javaw`, and `javaws`? I have found that on Windows most usage of Java is done using `javaw`.

Original source