home *** CD-ROM | disk | FTP | other *** search
-
- IBM Developer Kit for Linux(R), Java(TM) Technology Edition, alphaVersion 1.1.6
- ===============================================================================
-
- -----------------------------------------------------------------------
- CONTENTS
-
- Overview of the IBM Developer Kit
- - Introduction
- - Just-In-Time(JIT) Compiler
- - What the Software Contains
- - Where to Find More Information
-
- Running the Software
- - Linux(R) System Pre-requisites
- - Running IBM Developer Kit Tools under Linux
- - Linux PATH and CLASSPATH
- - Linux Installation Troubleshooting
- - Running Applets with the AppletViewer
- - Debugging Programs with the Debugger
- - Known Problems with the Alpha version
-
- =======================================================================
- Overview of the IBM Developer Kit
- =======================================================================
-
- _____________
- INTRODUCTION
-
- The Software is provided as a gzipped tar package named
- ibm-jdk-l116-linux-x86.tgz.This alpha version of the IBM Developer Kit
- is dependent on certain levels of the kernel and C runtime libraries
- in your Linux installation. Please see the section "Linux System
- Pre-requisites" under "Running the Software" later in this document
- for a full discussion of these dependencies.
-
- The IBM build number can be obtained by entering:
- java -fullversion
- or
- jre -d
-
- This is an alpha version 1.1.6 of the IBM Developer Kit. The IBM
- Developer Kit is a development environment for writing applets
- and applications that conform to the Java 1.1 Core API. Its compiler
- and other tools are run from a shell and have no GUI interface.
-
-
- All IBM Developer Kit tools use the IBM JIT (libjitc.so) by default. To
- disable the JIT, see "Using the JIT" below.
-
-
- ____________________
- Just-In-Time Compiler
-
- The IBM Developer Kit includes the IBM JIT (libjitc.so) which is used by
- all tools by default. To disable the JIT, the following additions to the
- command line options can be used:
-
- java -Djava.compiler=off MyClass
- jre -nojit MyClass
-
- With the java tool, setting JAVA_COMPILER also affects JIT usage.
- JAVA_COMPILER=off may be used to disable the JIT. The JRE tool
- ignores JAVA_COMPILER. Both tools also use the java.compiler
- property to determine JIT usage. See the appropriate tool
- documentation.
-
- Whether or not the JIT will be used can be determined by entering:
- jre -d
- or
- java -fullversion
-
- If the JIT is in use, this will be indicated by
- (JIT enabled: jitc)
- at the end of the fullversion string for the java command, or
- compiler = enabled: jitc
- for the jre.
- If the JIT is not in use, this will be indicated by
- (JIT disabled)
- or
- compiler = disabled
-
-
- ______________________________
- WHAT THE SOFTWARE CONTAINS
-
- RUNTIME
-
- - Core Classes (classes.zip)
- DO NOT UNZIP THIS FILE! It must remain zipped for the
- compiler and interpreter to access the class files
- within it properly. This file contains all of the
- compiled .class files for the platform.
-
- TOOLS
-
- - Java Compiler (javac)
- Compiles programs written in the Java programming language
- into bytecodes.
-
- - Java Interpreter (java)
- Executes Java bytecodes. In other words, it runs
- programs written in the Java programming language.
-
- - Java Runtime Interpreter (jre)
- Similar to the Java Interpreter (java), but intended for
- end users who do not require all the development-related
- options available with the java tool.
-
- - Java AppletViewer (appletviewer)
- Used for testing and running applets.
-
- - Java Debugger (jdb)
- Helps you find bugs in programs.
-
- - Class File Disassembler (javap)
- Disassembles compiled files and prints out a
- representation of the bytecodes.
-
- - Java Documentation Generator (javadoc)
- 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.
-
- - C Header and Stub File Generator (javah)
- For attaching native methods to code written in the
- Java programming language.
-
- - Java Archive Tool (jar)
- Combines many class files and other resources
- into a single jar file.
-
- - Digital Signing Tool (javakey)
- Manages entities, including their keys, certificates,
- and the trust associated with them.
-
- - Native-To-ASCII Converter (native2ascii)
- Converts a native encoding file to an ascii
- file that includes the \udddd Unicode notation.
-
- - Java RMI Stub Converter (rmic)
- Generates objects from the names of compiled classes
- that contain remote object implementations.
-
- - Java Remote Object Registry (rmiregistry)
- Creates and starts a remote object registry on the
- specified port of the current host.
-
- - Serial Version Command (serialver)
- Returns the serialVersionUID for one or more classes
- in a form suitable for copying into an evolving class.
-
- - Various C libraries and include files
-
- JAVA DOCUMENTATION
-
- - README
- The file you are currently reading
-
- - LICENSE
- License agreement & Copyright notice for the software
-
- ________________________________
- WHERE TO FIND MORE INFORMATION
-
- You may find additional Java Development Kit, Version 1.1
- documentation by visiting the Sun web site at:
- http://java.sun.com/products/jdk/1.1/
-
-
-
- =======================================================================
- RUNNING THE SOFTWARE
- =======================================================================
-
- __________________________
- Linux System Pre-requisites
-
- Because the IBM Developer Kit (Software) uses native threads as the underlying
- implementation of the java.lang.Thread class in the Java core classes,
- there are two major pre-requisites for this Software to run correctly on
- Linux. Both are related to the pthreads implementation available on
- Linux. LinuxThreads is the Linux POSIX threads implementation package
- which is built into glibc2, the GNU C runtime library version 2. In
- version 2.0 of glibc, LinuxThreads did not have all the functionality
- required by the Software. Version 2.1 of glibc has this required
- functionality, but some of this functionality is also dependant on the
- 2.2 version of the Linux kernel. Therefore, the Software requires
- that your Linux installation has both a version of the 2.2 Linux kernel and
- a version of glibc that is version 2.1 or greater. Of the four Linux
- distributions tested, we have made the following notes on each:
-
- * RedHat(R) Linux 6.0(TM)
- - incorporates both glibc version 2.1 and Linux kernel version 2.2.5
- * Caldera Systems, Inc(R) OpenLinux(TM) 2.2
- - incorporates both glibc version 2.1 and Linux kernel version 2.2.x
- * Pacific HiTech TurboLinux 3.6(TM)
- - incorporates Linux kernel version 2.2.9 but only glibc version 2.0.7
- * S.u.S.E Linux 6.1(TM)
- - incorporates Linux kernel version 2.2.5 but only glibc version 2.0.7
-
- For users who have Pacific HiTech TurboLinux 3.6 and SuSE Linux 6.1,
- you must upgrade the glibc version on your system so that you are able
- to use the IBM Developer Kit with your system. Please see
- ftp://glibc.cygnus.com/pub/glibc for source and documentation on
- building glibc 2.1 for your system.
-
- If you have a version of the Linux Operating System that does not have
- version 2.2 or above, of the Linux kernel, please see
- http://www.kernel.org for information on upgrading your system with a
- 2.2.x version of the Linux kernel.
-
- _________________________________________
- Running IBM Developer Kit Tools under Linux
-
- After installing the Software, you start a tool by typing its
- name into a terminal window with a filename as an argument. None of
- the main tools have GUI interfaces -- they are all run from the
- terminal command line.
-
- You can specify the path to a tool either by typing the path in
- front of the tool each time, or by adding the path to your shell's
- startup file. For example, if the Software is installed at
- /usr/java, to run the compiler on a file myfile.java, go to a shell
- prompt and execute this:
-
- Type: /usr/java/bin/javac myfile.java
-
- -or-
-
- Add /usr/java/bin to your PATH statement
- Type: javac myfile.java
-
- See the next section about setting the PATH and CLASSPATH variables.
-
- __________________________
- Linux PATH and CLASSPATH
-
- The CLASSPATH is not required, but if it is set, it will need to be
- unset. You may want to update the "PATH" variable for convenience.
-
- Developing with multiple Java Virtual Machines - If you want
- to develop with the IBM Developer Kit and another Java Virtual
- Machine, you must set CLASSPATH (and PATH) separately
- for each one. To run both versions simultaneously,
- you can run each one from its own shell. If you are running
- only one at a time, you can write a shell script to
- switch the value of CLASSPATH (and PATH).
-
- 1. PATH - Add the absolute path of the "java/bin"
- directory to your PATH statement as follows.
-
- The PATH statement enables Linux to find the executables
- (javac, java, javadoc, etc.) from any current directory.
-
- To find out the current value of your PATH, at the
- shell prompt type:
-
- $ echo $PATH
-
- To change the PATH, open your shell startup file (usually
- .profile, .bash_profile, .login depending on your shell)
- and make the change to the PATH statement.
-
- To make the path take effect, re-login or re-execute your
- shell startup code.
-
- 2. CLASSPATH Environment Variable - If you follow the default
- installation, you do not need to set CLASSPATH, because the
- tools automatically set it for you.
-
- WHAT CLASSPATH DOES
-
- The CLASSPATH tells the Java virtual machine and the
- applications (which are located in the "java/bin"
- directory) where to find the class libraries, such as
- classes.zip file (which is in the lib directory).
- By default, the java tools temporarily append the
- following to whatever CLASSPATH you have explicitly
- set in your startup file:
-
- [bin]/../lib/classes.zip
-
- where [bin] is substituted by the absolute path to the
- java/bin directory. Therefore, if you keep the bin and
- lib directories at the same directory level (that is, if
- they have a common parent directory), the executables
- will find the classes. You need to set the CLASSPATH only
- if you move classes.zip or want to load a different library
- (such as one you develop).
-
- Refer to the Linux Installation Troubleshooting section below
- if you have problems running the software.
-
-
- _______________________________
- Linux Installation Troubleshooting
-
- Here are some troubleshooting tips for Linux.
-
- * If, when you try to start any of the tools, you get an
- error from Linux stating that the libjava.so library could
- not be loaded because of a symbol not found (such as __bzero),
- this is reporting that the C runtime library is not at the
- correct level necessary to run the IBM Developer Kit tools.
- The IBM Developer Kit relies upon the native threads
- implementation (pthreads) that is built into glibc version
- 2.1. If your version of Linux was not shipped with glibc
- version 2.1 you will need to upgrade your C runtime library
- to version 2.1. See the "Linux System Pre-requisites" section
- earlier in this document.
-
-
- * Error Message: "Exception in thread NULL"
- or "Unable to initialize threads: cannot find class
- java/lang/Thread"
-
- If you are getting one of these fatal error messages
- when running java, javac, or appletviewer, you should check
- your CLASSPATH environment variable. If you are bypassing
- the launch shell scripts in java/bin and using the executables
- in java/bin/linux/native_threads then the CLASSPATH is not
- being set correctly for the class libraries the tools need
- to execute correctly. You can set this at the shell prompt
- as in the following example:
-
- $ export CLASSPATH=.:/usr/java/lib/classes.zip
-
- _________________________________________
- RUNNING APPLETS WITH THE APPLETVIEWER
-
- AppletViewer allows you to run one or more applets that are called by
- reference in a web page (HTML file) using the APPLET tag. The
- AppletViewer finds the APPLET tags in the HTML file and runs the
- applets (in separate windows) as specified by the tags.
-
- AppletViewer is for viewing applets. It cannot display an entire
- web page that contains many HTML tags. It parses only the APPLET
- tag and no other HTML on the web page.
-
- To run an applet with appletviewer, you go to a command line for
- your operating system and run appletviewer, passing in the filename
- or URL of the web page as its argument.
-
- Here is an example of how to invoke AppletViewer on a file-based
- web page under Linux. Go to a shell prompt, change to the "/usr/java"
- directory and then execute:
-
- ./bin/appletviewer myapplet.html
-
- Here is an example of how to invoke AppletViewer on a URL-based
- web page under Linux. Execute:
-
- ./bin/appletviewer http://java.sun.com/applets/NervousText/example1.html
-
- ______________________________________________
- DEBUGGING PROGRAMS WITH THE DEBUGGER (JDB)
-
- You can debug applets using the -debug option of appletviewer.
- When debugging applets, it's best to invoke appletviewer from
- the directory that contains the applet's HTML file. For example,
-
- cd demo/TicTacToe
- ../../bin/appletviewer -debug example1.html
-
- You can find documentation on the debugger and its API at:
-
- http://java.sun.com/products/jdk/1.1/debugging/
-
-
- _____________________________________
- Known Problems with the Alpha version
-
-
- * Locale issues on RedHat Linux 6.0
-
- RedHat Linux 6.0 does not set the LANG variable for the
- current locale. If this is not set correctly, certain
- Unicode characters are not displayed properly from
- the non-ASCII set of characters. If you wish for this
- to work properly, please set the LANG variable in
- your shell before starting a Java application or applet. For
- example, the German locale can be set as follows:
-
- $ export LANG=de_DE
-
- The English/US locale can be set by performing:
-
- $ export LANG=en_US
-
- Even though certain locales may work using the LANG variable,
- the alpha version of the IBM Developer Kit has not been tested on
- any other locale except for English.
-
- * JRE exits unexpectedly when running an AWT application
-
- The JRE executable is included in this distribution for completeness,
- however, at the current alpha level it has not been tested fully.
- One known problem is that if you are running an AWT application that
- is written such that the "main" method of the starting class creates
- AWT objects and then exits, this will exit the jre, which will close
- all the threads of the application and exit. The jre does not have
- this problem with non-AWT applications, such as a simple console
- application.
-
- -----------------------------------------------------------------------
- (c) Copyright IBM Corporation, 1999. All rights reserved.
- -----------------------------------------------------------------------
- Copyright ╕ 1996, 1997, 1998 Sun Microsystems, Inc.
- 901 San Antonio Rd., Palo Alto, CA 94303 USA
- All rights reserved.
- -----------------------------------------------------------------------
- * IBM and alphaWorks are registered trademarks of International Business
- Machines Corporation.
- ** Java and all Java-based marks are trademarks or registered trademarks of
- Sun Microsystems, Inc. in the U.S. and other countries.
- *** All other company names may be trademarks or registered trademarks.
-