JDK Development Tools (original) (raw)
JDK Tools and Utilities
As of JDK 8u451, JavaFX is no longer included as part of Java SE 8. As a consequence, the javapackager
tool has been removed. Please visit https://www.oracle.com/javase/javafx for more information.
General
- General Information (file structure, classpath, how classes are found, changes)
- Enhancements
Standard JDK Tools and Utilities
- Basic Tools(appletviewer, extcheck, jar, java, javac, javadoc, javah, javap, jdb, jdeps)
- Security Tools(keytool, jarsigner, policytool, kinit, klist, ktab)
- Internationalization Tools (native2ascii)
- Remote Method Invocation (RMI) Tools (rmic, rmiregistry, rmid, serialver)
- Java IDL and RMI-IIOP Tools (tnameserv, idlj, orbd, servertool)
- Java Deployment Tools (javapackager, pack200, unpack200)
- Java Web Start Tools (javaws)
- Java Troubleshooting, Profiling, Monitoring and Management Tools (jcmd, jconsole, jmc, jvisualvm)
- Java Web Services Tools (schemagen, wsgen, wsimport, xjc)
Experimental JDK Tools and Utilities
NOTE - The tools described in this section are unsupported and experimental in nature and should be used with that in mind. They might not be available in future JDK versions.
- Monitoring Tools (jps, jstat, jstatd)
- Troubleshooting Tools (jinfo, jhat, jmap, jsadebugd, jstack)
- Scripting Tools (jrunscript)
Troubleshooting Documentation
- Java™ SE Troubleshooting web site (tools, options, and other items for use in analyzing problems)
NOTE - The Windows and Solaris, Linux, and OS X references pages for some tools have minor differences in configuration and usage -- for example, the character used to specify directory separators may be different.
General Information
The following documents contain important information you will need to know to get the most out of the JDK tools.
Document Type | Platform |
---|---|
JDK File Structure | [Solaris, Linux, and OS X] [Windows] |
Setting the Classpath | [Solaris, Linux, and OS X] [Windows] |
How Classes are Found | [All supported platforms] |
Enhancements
The man page for each tool reflects the latest behavior for that tool, but the following page details the tools changes specific to a release.
Basic Tools
These tools are the foundation of the JDK. They are the tools you use to create and build applications.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
appletviewer | Run and debug applets without a web browser. | [Solaris, Linux, and OS X] [Windows] |
extcheck | Utility to detect Jar conflicts. | [Solaris, Linux, and OS X] [Windows] |
jar | Create and manage Java Archive (JAR) files.See Java Archive Files page for the JAR specification. | [Solaris, Linux, and OS X] [Windows] |
java | The launcher for Java applications. In this release, a single launcher is used both for development and deployment.The old deployment launcher, jre, is no longer provided. | [Solaris, Linux, and OS X] [Windows] |
javac | The compiler for the Java programming language. | [Solaris, Linux, and OS X] [Windows] |
javadoc | API documentation generator.See Javadoc Tool page for doclet and taglet APIs. | [Solaris, Linux, and OS X] [Windows] |
javah | C header and stub generator. Used to write native methods. | [Solaris, Linux, and OS X] [Windows] |
javap | Class file disassembler | [Solaris, Linux, and OS X] [Windows] |
jdb | The Java Debugger.See JPDA for the debugger architecture specifications. | [Solaris, Linux, and OS X] [Windows] |
jdeps | Java class dependency analyzer | [Solaris, Linux, and OS X] [Windows] |
Security Tools
These security tools help you set security policies on your system and create applications that can work within the scope of security policies set at remote sites.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
keytool | Manage keystores and certificates. | [Solaris, Linux, and OS X] [Windows] |
jarsigner | Generate and verify JAR signatures. | [Solaris, Linux, and OS X] [Windows] |
policytool | GUI tool for managing policy files. | [Solaris, Linux, and OS X] [Windows] |
These security tools help you obtain, list, and manage Kerberos tickets.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
kinit | Tool for obtaining Kerberos v5 tickets. Equivalent functionality is available on the Solaris operating system via the kinit tool. For example, for Solaris 11, see the kinit reference page. | [Windows] |
klist | Command-line tool to list entries in credential cache and key tab. Equivalent functionality is available on the Solaris operating system via the klist tool. For example, for Solaris 11, see the klist reference page. | [Windows] |
ktab | Command-line tool to help the user manage entries in the key table. Equivalent functionality is available on the Solaris operating system via the kadmin tool. For example, for Solaris 11, see the kadmin reference page. | [Windows] |
Internationalization Tools
This tool helps to create localizable applications.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
native2ascii | Convert text to Unicode Latin-1. | [Solaris, Linux, and OS X] [Windows] |
Remote Method Invocation (RMI) Tools
These tools help to create applications that interact over the Web or other network.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
rmic | Generate stubs and skeletons for remote objects. | [Solaris, Linux, and OS X] [Windows] |
rmiregistry | Remote object registry service. | [Solaris, Linux, and OS X] [Windows] |
rmid | RMI activation system daemon. | [Solaris, Linux, and OS X] [Windows] |
serialver | Return class serialVersionUID. | [Solaris, Linux, and OS X] [Windows] |
Java IDL and RMI-IIOP Tools
These tools are used when creating applications that use OMG-standard IDL and CORBA/IIOP.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
tnameserv | Provides access to the naming service. | [Solaris, Linux, and OS X] [Windows] |
idlj | Generates .java files that map an OMG IDL interface and enable an application written in the Java programming language to use CORBA functionality. | [Solaris, Linux, and OS X] [Windows] |
orbd | Provides support for clients to transparently locate and invoke persistent objects on servers in the CORBA environment. ORBD is used instead of the Transient Naming Service,tnameserv. ORBD includes both a Transient Naming Service and a Persistent Naming Service. The orbd tool incorporates the functionality of a Server Manager, an Interoperable Naming Service, and a Bootstrap Name Server. When used in conjunction with the servertool, the Server Manager locates, registers, and activates a server when a client wants to access the server. | [Solaris, Linux, and OS X] [Windows] |
servertool | Provides ease-of-use interface for the application programmers to register, unregister, startup, and shutdown a server. | [Solaris, Linux, and OS X] [Windows] |
Java Deployment Tools
Utilities for use in conjunction with deployment of java applications and applets on the web.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
javapackager | Performs tasks related to packaging and signing Java and JavaFX applications. | [Linux and OS X] [Windows] |
pack200 | Transforms a JAR file into a compressedpack200 file using the Java gzipcompressor. The compressed packed files are highly compressed JARs, which can be directly deployed, saving bandwidth and reducing download time. | [Solaris, Linux, and OS X] [Windows] |
unpack200 | Transforms a packed file produced bypack200 into a JAR file. | [Solaris, Linux, and OS X] [Windows] |
Java Web Start Tools
Utilities for use in conjunction with Java Web Start.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
javaws | Command line tool for launching Java Web Start and setting various options.See Java Web Start Guide for more information. | [Solaris, Linux, and OS X] [Windows] |
Java Troubleshooting, Profiling, Monitoring and Management Tools
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
jcmd | JVM Diagnostic Commands tool - Sends diagnostic command requests to a running Java Virtual Machine. | [Solaris, Linux, and OS X] [Windows] |
jconsole | A JMX-compliant graphical tool for monitoring a Java virtual machine. It can monitor both local and remote JVMs. It can also monitor and manage an application.See Monitoring and Management for the Java Platform for more information. | [Solaris, Linux, and OS X] [Windows] |
jmc | The Java Mission Control (JMC) client includes tools to monitor and manage your Java application without introducing the performance overhead normally associated with these types of tools. | [Solaris, Linux, and OS X] [Windows] |
jvisualvm | A graphical tool that provides detailed information about the Java technology-based applications (Java applications) while they are running in a Java Virtual Machine. Java VisualVM provides memory and CPU profiling, heap dump analysis, memory leak detection, access to MBeans, and garbage collection. See Java VisualVM for more information. | [Solaris, Linux, and OS X] [Windows] |
Java Web Services Tools
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
schemagen | Schema generator for Java Architecture for XML Binding. | [Solaris, Linux, and OS X] [Windows] |
wsgen | Tool to generate JAX-WS portable artifacts. | [Solaris, Linux, and OS X] [Windows] |
wsimport | Tool to generate JAX-WS portable artifacts. | [Solaris, Linux, and OS X] [Windows] |
xjc | Binding compiler for Java Architecture for XML Binding. | [Solaris, Linux, and OS X] [Windows] |
Monitoring Tools
You can use the following tools to monitor JVM performance statistics. The tools described in this section are unsupported andexperimental, and should be used with that in mind. They may not be available in future JDK versions.
These tools are supported on all platforms except Windows 98 and Windows ME.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
jps | Experimental: JVM Process Status Tool - Lists instrumented HotSpot Java virtual machines on a target system. | [Solaris, Linux, and OS X] [Windows] |
jstat | Experimental: JVM Statistics Monitoring Tool - Attaches to an instrumented HotSpot Java virtual machine and collects and logs performance statistics as specified by the command line options. | [Solaris, Linux, and OS X] [Windows] |
jstatd | Experimental: JVM jstat Daemon - Launches an RMI server application that monitors for the creation and termination of instrumented HotSpot Java virtual machines and provides a interface to allow remote monitoring tools to attach to Java virtual machines running on the local system. | [Solaris, Linux, and OS X] [Windows] |
Troubleshooting Tools
The following tools can be used for specific troubleshooting tasks. The tools described in this section are unsupported andexperimental in nature and should be used with that in mind. They may not be available in future JDK versions.
Some of these tools are not currently available on Windows platforms.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
jinfo | Experimental - Configuration Info for Java - Prints configuration information for a given process or core file or a remote debug server. | [Solaris, Linux, and OS X] [Windows] |
jhat | Experimental - Heap Dump Browser - Starts a web server on a heap dump file (for example, produced by jmap -dump), allowing the heap to be browsed. | [Solaris, Linux, and OS X] [Windows] |
jmap | Experimental - Memory Map for Java - Prints shared object memory maps or heap memory details of a given process or core file or a remote debug server. | [Solaris, Linux, and OS X] [Windows] |
jsadebugd | Experimental - Serviceability Agent Debug Daemon for Java - Attaches to a process or core file and acts as a debug server. | [Solaris, Linux, and OS X] [Windows] |
jstack | Experimental - Stack Trace for Java - Prints a stack trace of threads for a given process or core file or remote debug server. | [Solaris, Linux, and OS X] [Windows] |
Refer to the Java™ SE Troubleshooting web site for descriptions of tools, options, and other information to use in analyzing problems. The documents at this site contain suggestions about what to try before submitting a bug report and what data to collect for a report.
Scripting Tools
The following tools can be used to run scripts that interact with the Java platform.
Tool Name | Brief Description | Links to Reference Pages |
---|---|---|
jjs | Runs the Nashorn command-line script shell. | [Solaris, Linux, and OS X] [Windows] |
jrunscript | Experimental - Script shell for Java - Runs a script. This tool is unsupported and experimental in nature and should be used with that in mind. It might not be available in future JDK versions. | [Solaris, Linux, and OS X] [Windows] |