'java' - Java Launching Command and Options

This section describes the Java launching tool 'java' and its commonly used command options.

"java": A command line tool that launches Java applications. It starts a Java virtual machine, loads the specified class, and invokes that class's main method. "java" has the following syntax:

java [options] class [arguments]

where "options" is a list of options; "class" is the full name of a Java class to be launched; "arguments" is a list of arguments to be passed to the main method of the class to be launched.

Another way of launching a Java class is to use the "-jar" option:

java [options] -jar file [arguments]

where "file" is a JAR file, which should contain a "Main-Class" attribute in the manifest file. The "Main-Class" attribute defines the Java class to be launched.

Commonly used options are:

If you run the "java" command without any options, you will get the quick usage information as shown below:

C:\herong>\progra~1\java\jdk1.8.0\bin\java

Usage: java [-options] class [args...]
         (to execute a class)
 or  java [-options] -jar jarfile [args...]
         (to execute a jar file)
where options include:
 -d32    use a 32-bit data model if available
 -d64    use a 64-bit data model if available
 -client to select the "client" VM
 -server to select the "server" VM
         The default VM is client.

 -cp <class search path of directories and zip/jar files>
 -classpath <class search path of directories and zip/jar files>
         A ; separated list of directories, JAR archives,
         and ZIP archives to search for class files.
 -D<name>=<value>
         set a system property
 -verbose:[class|gc|jni]
         enable verbose output
 -version print product version and exit
 -version:<value>
         require the specified version to run
 -showversion  print product version and continue
 -jre-restrict-search | -no-jre-restrict-search
         include/exclude user private JREs in the version search
 -? -help print this help message
 -X      print help on non-standard options
 -ea[:<packagename>...|:<classname>]
 -enableassertions[:<packagename>...|:<classname>]
         enable assertions with specified granularity
 -da[:<packagename>...|:<classname>]
 -disableassertions[:<packagename>...|:<classname>]
         disable assertions with specified granularity
 -esa | -enablesystemassertions
         enable system assertions
 -dsa | -disablesystemassertions
         disable system assertions
 -agentlib:<libname>[=<options>]
         load native agent library <libname>, e.g. -agentlib:hprof
         see also, -agentlib:jdwp=help and -agentlib:hprof=help
 -agentpath:<pathname>[=<options>]
         load native agent library by full pathname
 -javaagent:<jarpath>[=<options>]
         load Java programming language agent, see java.lang.instrument

 -splash:<imagepath>
         show splash screen with specified image

Last update: 2015.

Table of Contents

 About This Book

 Java Tools Terminology

 Installing Java 8 on Windows

 'javac' - The Java Program Compiler

'java' - The Java Program Launcher

'java' - Java Launching Command and Options

 Launching Hello.java - My First Java Program

 Option "-classpath" - Specifying Class Path

 Option '-jar' - Specifying Executable JAR Files

 Option '-X' - Specifying Non-Standard Options

 'javaw' - Launching Java Programs without Console

 'jdb' - The Java Debugger

 'jconsole' - Java Monitoring and Management Console

 'jstat' - JVM Statistics Monitoring Tool

 JVM Troubleshooting Tools

 jvisualvm (Java VisualVM) - JVM Visual Tool

 'jar' - The JAR File Tool

 'javap' - The Java Class File Disassembler

 'keytool' - Public Key Certificate Tool

 'native2ascii' - Native-to-ASCII Encoding Converter

 Outdated Tutorials

 References

 PDF Printing Version