| # JavaTM 2 SDK Tools Changes | SDK Tools

> This document describes some of the changes made to the tools in version 1.3 of the Java 2 SDK, Standard Edition.

> - The javac compiler has been completely re-implemented in version 1.3 of the Java 2 SDK. The compiler implementation from previous releases of the SDK is still available as oldjavac. The new javac is faster than the old java.

>   The nonstandard options, those prefixed with '-X', are no longer supported. In particular, the `-Xdepend` option is no longer available.

>   When searching the classpath or sourcepath, the new compiler does not follow symbolic links. In version 1.3, it is therefore necessary to avoid the use of symbolic links within the directories appearing on the classpath and sourcepath, and within their subdirectories.

>   When the new 1.3 compiler detects an error in a source file during a compilation, it continues to parse the remaining source files and attempts to identify any further errors that they may contain. Code generation is completely suppressed for the remainder of the compilation, however, and no class files will be generated, even for compilation units that contain no errors. The old compiler in 1.2 would generate class files for any compilation units that did not contain errors. This resulted in less redundant work during the repeated compilations required to identify and correct all errors in a large program containing many files with errors. We hope to improve this behavior in the future. The new compiler is substantially faster overall, however, which should tend to offset this somewhat.

> - The reserved stack size for the Java application launcher on Win32 platforms (java.exe) has been decreased from 1 MB to 256 KB. This reduction of reserved stack size enables four times more threads than previously can exist simultaneously during runtime before getting an out-of-memory error.

> - The idltojava compiler has been replaced with the new idlj compiler.

> - The Javadoc tool recognizes the new `@docRoot` tag, and a new doclet for generating output in MIF format is available. Several important Javadoc bugs are also fixed in Javadoc 1.3. See What's New in Javadoc 1.3 for details.

> - The Jar tool now provides for the indexing of Jar files so that Jar-file contents can be accessed quickly and easily. The new functionality is invoked with the Jar tool's new `-i` option. See the Jar tool reference pages for details [ Win32 | Solaris ].

> - The jarsigner and keytool utilities have a new `-provider` option that can be used to specify the name of cryptographic service provider's master class file when the service provider is not listed in the security properties file. See the reference pages for jarsigner [Win32 | Solaris] and keytool [Win32 | Solaris]. Jarsigner can now verify Netscape-signed Jar files.

> - The rmic tool (the Java RMI stub compiler) supports several new options:
>   - The `-bootclasspath` option overrides the location of bootstrap class files.
>   - The `-extdirs` option overrides the location of installed extensions.
>   - The `-idl` option creates IDL.
>   - The `-iiop` option creates stubs for IIOP.
>   - The `-sourcepath` option specifies where to find user source files.
>   `rmic` now assumes the equivalent of '`-d .`' for the destination directory if the `-d` option isn't used. See the `rmic` reference pages for details [ Win32 | Solaris ].

> - The rmid tool (the Java RMI Activation Daemon) now requires a security policy file, by default. For complete details, please refer to the `rmid` reference pages [ Win32 | Solaris ].

> - Version 1.3 of the Java 2 SDK contains the new Java 2 Client Virtual Machine with Java HotSpotTM technology as the default virtual machine for running applications and applets. The virtual machine implementation from previous versions of the SDK (the Classic VM) is still included with the Java 2 SDK for Win32 platforms. It is not included with the Java 2 Runtime Environment nor with the Java 2 SDK for the Solaris operating environment. On the Win32 SDK, the classic VM can be invoked by using the `-classic` option when launching applications and applets, as in these examples:

>   > java -classic MyApp appletviewer -classic MyApplet.html

>   If used, the `-classic` option must be the first option appearing in the command. The `-classic` option also can be used to invoke the Classic VM when using other SDK tools.

> - The version-related options of the Java application launcher have been modified in this release. The `-version` option provides output in the following format:

>   >     java version "<java.version>"
>   >     <java.runtime.name> (build <java.runtime.version>)
>   >     <java.vm.name> (build <java.vm.version>, <java.vm.info>)

>   The parts in angular brackets, such as `<java.version>`, are values of the indicated system properties. New option `-showversion` is similar to `-version`, except that it continues after displaying the version information so that it can be used when launching an application.

>   >     java -showversion MyApp

> - The javaw application launcher normally launches an application on Win32 platforms without displaying a console window as does the java application launcher. The javaw launcher has been modified so that it will now display a window with error messages in the event that an application fails to launch. Previously, javaw would not display an error dialog box when an application failed to launch which made it difficult to determine the cause of the problem.

Copyright © 1995-2000 Sun Microsystems, Inc. All Rights Reserved. Feedback | Java Software