This README file provides information about the IBM Developer Kit for Linux(R), Java(TM) 2 Technology Edition, Version 1.3.0 (Developer Kit for Linux.) Use this README file if you want to use the Developer Kit for Linux to write Java applications and applets.
The Developer Kit for Linux has been tested with the following products:
The Developer Kit for Linux has been tested with the following window managers:
The following is a list of known limitations in the preview release:
The Developer Kit for Linux is a development environment for writing applets and applications that conform to Sun's Java 1.3 Core Application Programming Interface (API).
In general, any applet or application that runs in Version 1.1.8 of the Developer Kit for Linux should run correctly in this version. Applets that depend on Sun's Java 1.3 APIs work only on browsers that support Java 1.3 APIs.
For more details, see the document on compatibility at the following Sun Web site:
The following list describes the contents of the Developer Kit for Linux.
Do not modify these classes; instead, create subclasses and override where you need to.
Compiles programs written in the Java programming language into bytecodes (compiled Java code).
Executes Java bytecodes. The Java Interpreter runs programs written in the Java programming language.
Use for testing and running applets.
Helps debug your Java programs.
Disassembles compiled files and prints a representation of the bytecodes.
Parses the declarations and documentation comments in a set of source files and produces a set of HTML pages describing the public and protected classes, interfaces, constructors, methods, and fields. Also produces a class hierarchy and an index of all members.
Attaches native methods to code written in the Java programming language.
Generates signatures for Java Archive (JAR) files, and verifies the signatures of signed JAR files.
Manages entities, including their keys, certificates, and the trust associated with them.
Manages a keystore (database) of private keys and their associated X.509 certificate chains authenticating the corresponding public keys.
Creates and modifies the external policy configuration files that define your installation's Java security policy.
Converts a native encoding file to an ASCII file that includes the \udddd Unicode notation.
Generates objects from the names of compiled classes that contain remote object implementations. Includes RMI over Internet Inter-ORB Protocol (IIOP), or RMI-IIOP, support.
Starts the activation system daemon so that objects can be registered and activated in a Java virtual machine (JVM).
Compiles Object Management Group (OMG) Interface Definition Language (IDL) files to Java code.
Starts the CORBA transient naming service.
Creates and starts a remote object registry on the specified port of the current host.
Returns the serialVersionUID for one or more classes in a form that is suitable for copying into an evolving class.
Detects version conflicts between a target jar file and currently installed extension jar files.
The following documentation and demos are included with the Developer Kit for Linux:
This file.
Copyright notice for the Developer Kit for Linux software.
The LICENSE.SDK.HTML file contains the license agreement for the Developer Kit for Linux software.
To view or print the license agreement, open the file in a Web browser.
A text file that describes any defects fixed after the initial release of this version.
Note: This README file and the accompanying license, copyright files, demo directory, and source code (javasrc.jar) are the only documentation included in this Developer Kit for Linux. You can look at Sun's software documentation by visiting the Sun Web site, or you might be able to download Sun's Software documentation package from the following Sun Web site:
The documentation package is designed to be extracted into the Developer Kit for Linux software installation directory. If you download the zip file archive version, be sure to preserve the file path names when you extract the files from the archive. If you use pkunzip, specify the -d option.
The Developer Kit for Linux includes the IBM just-in-time (JIT) compiler (libjitc.so). The JIT compiler dynamically generates machine code for frequently used bytecode sequences in a Java application or applet while it is running.
All Developer Kit for Linux tools use the JIT by default. You can disable the JIT to help isolate a problem with a Java application, an applet, or the compiler itself. To disable the JIT, type the following at a shell prompt.
export JAVA_COMPILER=NONE
To enable the JIT, type the following at a shell prompt:
export JAVA_COMPILER=jitc
To determine if the JIT is enabled, type the following at a shell prompt:
java -fullversion
If a JIT is in use, one of the following messages is displayed:
(JIT enabled: jitc)
compiler = enabled: jitc
If no JIT is in use, one of the following messages is displayed:
(JIT disabled)
compiler = disabled
After you install the Developer Kit for Linux, edit your shell script and add to your PATH statement the directory where you installed the Developer Kit. For more information about the PATH statement, see PATH considerations.
The Java Plug-in is a Web browser plug-in for use with Netscape Communicator for Linux. If you use the Java Plug-in, you can bypass your Web browser's default Java Virtual Machine and use instead a Java Runtime Environment (JRE) for running applets or beans in the browser.
To install and configure the Java Plug-in:
After installation, if you downloaded additional fonts, you can install and register them. If you downloaded the fonts in parts, you must first put them back together into one file for each font.
Note: Asian characters cannot be displayed, even in the Asian locale, if you do not have the Times New Roman MT30 font installed on your system. Therefore, at a minimum, you must download the Times New Roman MT30 font to display Asian characters.
To put a font file back together, use the cat command.
For example, if you downloaded the Times New Roman MT30 font in parts, type the following command to put it back together:
cat tmrmt30.t01 tmrmt30.t02 > tmrmt30.ttf
To install the additional fonts, copy them to the /opt/IBMJava2-13/jre/lib/fonts directory.
There is an incompatibility in the glibc package used by Caldera eServer 2.3; this might cause Java applications to hang when you compile or run a Java application or applet on Caldera eServer 2.3. To download and install an updated version of glibc, see the following Caldera Systems, Inc. Web site:
The process you use to remove the Developer Kit for Linux depends on whether you installed the installable RPM package or the compressed TAR package. See Uninstalling the installable RPM package or Uninstalling the compressed TAR package for instructions.
To uninstall the Developer Kit for Linux if you installed the installable RPM package:
rpm -qa | grep IBMThe name of the package is displayed.
rpm -e pkgnamewhere pkgname is the name of the package that was displayed.
To uninstall the Developer Kit for Linux if you installed the compressed TAR package:
To take advantage of the euro symbol support, the operating system must support the euro symbol. This might require that you install standard ISO-8859-15 (Latin-9 or Latin-0). For further information, see the HOWTO for your distribution of Linux.
The following sections give further information on euro symbol support.
The Unicode character for the euro is u'20ac'.
Collation of currency symbols traditionally follows the English collation order of the symbol name. Thus cent is followed by dollar. According to this scheme, the euro symbol sorts immediately following the dollar and dong currency symbols and before the French franc.
The main Developer Kit for Linux tools are programs that are run from a shell prompt; they do not have a Graphical User Interface (GUI).
The following sections give information on using the Developer Kit for Linux.
After installing the Developer Kit for Linux software, you can run a tool by typing its name at a shell prompt with a filename as an argument.
You can specify the path to a tool by typing the path before the name of the tool each time. For example, if the Developer Kit for Linux software is installed in /opt/IBMJava2-13/bin, you can compile a file named myfile.java by typing the following at a shell prompt:
/opt/IBMJava2-13/bin/javac myfile.java
To avoid typing the full path each time:
javac myfile.java
The PATH environment variable enables Linux to find executable files, such as javac, java, and javadoc, from any current directory. To display the current value of your PATH, type the following at a shell prompt:
echo $PATH
To change the PATH environment variable:
The CLASSPATH tells the Runtime Environment for Linux and the Developer Kit for Linux tools, such as java, javac, and javadoc, where to find the Java class libraries. If you keep the bin and lib directories under the same parent directory level, the executable files can find the classes.
You need to explicitly set the CLASSPATH only if one of the following applies:
To display the current value of your CLASSPATH, type the following at a shell prompt:
echo $CLASSPATH
If you plan to develop and run applications using different runtime environments, you need to explicitly set the CLASSPATH (and PATH) appropriately for each application. If you plan to simultaneously run multiple applications using different runtime environments, be sure each application is run in its own shell.
If you want to run only one version of Java at a time, a shell script can be used to switch between the different runtime environments.
With the Applet Viewer, you can run one or more applets that are called by reference in a Web page (HTML file) using the APPLET tag. The Applet Viewer finds the APPLET tags in the HTML file and runs the applets, in separate windows, as specified by the tags.
Because the Applet Viewer is for viewing applets, it cannot display an entire Web page that contains numerous HTML tags. It parses only the APPLET tag and no other HTML on the Web page.
To run an applet with the Applet Viewer, type the following at a shell prompt:
appletviewer name
where name is one of the following:
For example, to invoke the Applet Viewer on an HTML file that calls an applet, type the following at a shell prompt:
appletviewer $HOME/filename.htmlwhere filename is the name of the HTML file.
For example, to invoke the Applet Viewer on a URL-based Web page that calls an applet, type the following at a shell prompt:
appletviewer http://java.sun.com/applets/NervousText/example1.html
You can debug applets using the -debug option of Applet Viewer. When debugging applets, it is best to invoke Applet Viewer from the directory that contains the HTML file that calls the applet. For example:
cd demo/TicTacToe ../../bin/appletviewer -debug example1.html
You might find documentation on the debugger and its API at the following Sun Web site:
To obtain the IBM build and version number, type the following at a shell prompt:
java -version
On double-byte character set (DBCS) systems, if you want to switch the input method, you must set an environment variable that represents the keycode you use for switching. Optionally, you can set another environment variable that represents the modifiers of the keycode.
To specify the keycode to use for switching, set the IBMJAVA_INPUTMETHOD_SWITCHKEY environment variable to some keycode definition in the java.awt.event.KeyEvent class, for example, VK_F4.
Optionally, specify modifiers of the keycode. To specify modifiers of the keycode, set the IBMJAVA_INPUTMETHOD_SWITCHKEY environment variable to some combination of the following three mask definitions in the java.awt.event.InputEvent class:
Separate the masks by commas.
For example you might set the IBMJAVA_INPUTMETHOD_SWITCHKEY environment variable to ALT_MASK, CTRL_MASK.
During Java initialization, the two environment variables are stored.
To be sure you have set the environment variables correctly, press a key and check it with the key combination you specified. If it matches, a Java pop-up menu with selectable input methods is displayed.
A Java application, unlike a Java applet, cannot rely on a Web browser for installation and runtime services. When you ship a Java application, your software package probably consists of the following parts:
To run your application, a user needs the Runtime Environment for Linux. The Developer Kit for Linux software contains a runtime environment. However, you cannot assume that your users have the Developer Kit for Linux software installed.
Your Developer Kit for Linux software license does not allow you to redistribute the Developer Kit for Linux software files. The Runtime Environment for Linux is available for redistribution as a separate package. You can download the Runtime Environment for Linux from the Web site where you obtained the Developer Kit for Linux.
If you encounter a problem after you install the Developer Kit for Linux, check the following list:
Terminate the application by typing Ctrl+C. This problem can be caused by an incompatibility in the glibc package used by Caldera eServer 2.3. Generally, to resolve the problem, you must update the glibc package that is available from the Caldera Support Website. See Updating the glibc on Caldera eServer 2.3 for instructions.
Unable to load libjava.so library
message.
If you receive a message indicating that the libjava.so library could not be loaded because of a symbol not found (such as __bzero), you might have a down-level version of the GNU C Runtime Library, glibc, installed. The Developer Kit for Linux thread implementation requires glibc version 2.1 or greater.
If the AppletViewer does not load applets, type the following at a shell prompt:
java -verbose sun.applet.AppletViewer
This command lists the classes that are being loaded. From this output, you can determine which class the Applet Viewer is trying to load and where it is trying to load it from. Check to make sure that the class exists and is not damaged in some way.
If you are writing a Java application, particularly a JNI application, be sure that the application handles the EINTR return code correctly; otherwise the application will fail.
The maximum number of threads available is determined by the minimum of:
However, you might run out of virtual storage prior to reaching the maximum number of threads. Additional information on adjusting these limits might be available at the following Web address:
public interface interface java.lang.Runnable extends java.lang.Object...
On the Linux X Window System, the keymap is set to: 64 0xffe9 (Alt_L) 0xffe7 (Meta_L), and 113 0xffea (Alt_R) 0xffe8 (Meta_R). You can check this by typing the following at a shell prompt:
xmodmap -pk
This is why the Developer Kit for Linux considers that Meta is being pressed together with Alt. As a workaround, you can remove the Meta_x mapping by typing the following at a shell prompt:
xmodmap -e "keysym Alt_L = Alt_L" -e "keysym Alt_R = Alt_R"
Note: This workaround might affect other X-Windows applications running on the same display if it uses the Meta-key that was removed.
This edition applies to the IBM Developer Kit for Linux, Java 2 Technology Edition, Version 1.3.0 and to all subsequent releases and modifications until otherwise indicated in new editions.
Copyright International Business Machines Corporation 2000. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
The following terms are trademarks of International Business Machines Corporation in the United States, or other countries, or both:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Other company, product, and service names may be trademarks or service marks of others.
Copyright (c) 1997, 1999 Sun Microsystems, Inc.
901 San Antonio Rd., Palo Alto, CA 94303 USA.
All rights reserved.
(c) Copyright IBM Corporation 2000. All rights reserved.