Aaron Williams' OS/2 Java Page
This page was last updated on August 16, 2000
Please update any bookmarks or links to this page.
Java 1.1.x tips
Java IDEs compatible with OS/2
Java Foundation Classes (Swing) tips
Other JAVA Information Web Sites & Magazines
- New JDK 1.1.8 refresh dated 8/31/2000.
- IBM Java 1.3 Preview Updated
IBM has a new update of their preview of Java 1.3 dated July 28, 2000. I am downloading it as I
- IBM Makes Java 1.3 Preview Available!
IBM has finally made available a pre-release of Java 1.3 for OS/2! Downloading requires
Software Choice subscription, so it is only available right now to a select few.
I am downloading it as I write this and will follow up with my comments.
- Updated Java 1.1.8
IBM has released another fix for Java 1.1.8. This has 17 fixes. This updates the
previous 9/10/99 fix.
- Updated Java 1.1.8 for OS/2!
IBM has made some new fixes available for Java 1.1.8. This fixes a number of
font problems, Swing problems, and stability problems.
- Updated Jikes compiler for OS/2. Jikes is an open-source Java compiler like javac, only much faster
and with better syntax checking.
Updated Java 1.1.7. There is an updated Java 1.1.8 dated October 27, 1999.
- I have some sad news to report. IBM, in
all their stupidity, has decided to not release Java 2 for OS/2 to the general
user base. Only paying subscribers of IBM Software Choice will be able to
download updates. This includes not just Java, but future versions of
Netscape. The full report is available at
http://www.ibmlink.ibm.com/usalets&parms=H_299-276. If this is the way IBM
treats long-time users such as myself, I'll be ditching it for Linux and remove
this page. I hope it doesn't come to this.
- Netscape 4.61 with strong encryption has been released! Please
IBM Software Choice Catalog for details.
- IBM has updated Java 1.1.8! You can download the update
- OS/2 leads in the Java SciMark benchmark. Results are available
Surprisingly NT with IE lags far behind with more powerful hardware.
A homebrew 333MHz Celeron running OS/2 Java 1.1.8 is significantly faster
than a 500MHz P3 Xeon Dell PowerEdge running IE. Clearly IBM leads the
pack in Java performance.
- Sun Microsystems will release a beta
of Java 1.3 later this month. Apparently the focus is on stability and
performance rather than new features. Given this, I suspect that when IBM
releases Java 1.2 for OS/2 that they will incorporate the latest fixes from
1.3, much like how IBM incorporated a number of features from Java 1.2 into
their 1.1.8 release.
- Java 1.1.8 Released!.
IBM has released Java 1.1.8 for both OS/2 Warp and Windoze. New to this runtime are:
After filling out the registration page the form says "1.1.7" but in
fact it is the 1.1.8 release.
- Security enhancements based on the Java 2 security model
- RMI-IIOP Runtime, Supported by IBM (RMI-IIOP)
- The IBM Just-In-Time (JIT) 3.5 compiler technology with the new
IBM Mixed Mode Interpreter (MMI) function that can help improve load
time of applications
- New Jikes Binary!. Mr. Price has done it again! He has just released Jikes 0.55 for
OS/2. For those who don't know, Jikes is a high performance Java byte-code
compiler. It is much faster than JAVAC, has better dependency checking,
and has stricter error checking. It is a must for any serious Java developer.
- JSetiTracker, a
Java GUI front-end for the
Seti@Home distributed project is available with OS/2 support.
Note that to install it that the -nojit option must be used with Java
1.1.7A (I havn't tried 1.1.8 yet).
This GUI front end shows a sky map and plots where it is currently processing.
The client requires Java 1.1.7A or later and Swing 1.1 or later.
Note that Swing 1.1.1 requires Java 1.1.8. I am currently running with the
latest Java 1.1.7A for OS/2 and Swing 1.1.
- (7/20/99) A new service refresh of Java 1.1.7A for OS/2 is available at
ftp://ftp.hursley.ibm.com/pub/java/fixes/os2/11/117. This fixes the
- Further fix to FTP URL parsing
- Enable caching of hostnames
- URLConnection.getContentLength() failure
- Poor audio response
- FileDescriptors inherited by child processes
- JIT assert in gencode_pseudo.c
- Canadian English/French date formats
- cp1047 - EBCDIC Not included in classes.zip
- Bad clipping in awt.Component.getGraphics()
- PlainDatagramSocketImpl finalize() hangs
- JRE incorrectly interprets app args
- PrintJob is not printing String's
- JIT incorrect calculation
- JIT throws +++ EXCEPTION: Unknown (code=c0000)
- java.util.Observable has severe memory leak
- jit error extracting Microsoft CAB files (who needs this?)
- Can't compile try or synchronize in instance
- Background painted incorrectly when Java shar (???)
- Apply multiple fixes from JIT team
- getSelectedText() fails with DBCS
- jar does not read non-ascii names correctly
- Throw exception accessing flushed img not trap
- (7/20/99) The final release of Swing 1.1.1 is now available at
http://java.sun.com/products/jfc/. Note that this requires the 1.1.8 JDK.
- Stop the Presses! Netscape 4.61 Beta for OS/2 is available for
download!!! This new version, although beta, is fairly stable and is fast.
Details are available here.
The beta is designed to work with Java 1.1.7 or later. So far it seems
more stable than Netscape 4.04 and much faster. The new Netscape comes with
a new revision of multimedia plugins. All of my existing plugins work as well
after copying them to the 4.61 plugin directory. NS 4.61 also inherited all of
my settings from 4.04, even though I installed it into a different directory.
- Java 1.2 for OS/2 dates announced! IBM
has announced that the preview for Java 1.2 for OS/2 will be available in
Q4 1999 and the GA version should be available in early 2000. IBM's schedule
is available here. As a side note, Sun's current version is 1.2.2. I suspect that the
GA release will not be too far behind Sun's
for OS/2 has been updated thanks to John Price.
Java Development Kit 1.1.8 Preview Available!. IBM has released a
preview of Java 1.1.8 for OS/2. This includes all the latest performance
enhancements. Also supported are Swing and the Java COMM API for OS/2!!!
This is a long-awaited update to an excellent Java environment.
Make sure that you have the latest version of the Feature Installer
before installing this.
- OS/2 Java is still the fastest! According to
Volano, OS/2 Java 1.1.7 beat
out TowerJ, IBM JDK 1.1.7 for Windows, and it left Sun's HotSpot and Microsoft's
JDK in the dust!
- IBM has once again updated Java 1.1.7. You can download the latest update
A list of fixes is available here
- Hot Java 3.0 for OS/2 is available. Jaime Cruz was nice enough to put together
a package using documentation from Kyle Markley and upload it to
Hobbes. Right now it's in
/incoming but soon should be in /pub/os2/apps/internet/www/browser.
- IBM releases Win32 JDK 1.1.7.
I know this isn't really OS/2 related, but IBM has just released a Win32 version
of their 1.1.7 JDK. All reports so far are that it is very fast, much
faster than even Microsoft's JVM.
- Example NetRexx Servlets. NetRexx is
a variation of Rexx which compiles to Java bytecodes and is compatible with the Java Virtual Machine.
- Java serial port drivers for OS/2 are available
here. Download jsp011.zip.
- NetBeans has released two new products.
NetBeans DeveloperX2 2.1 is written in Java 2 and is a full-featured cross-platform IDE.
Netbeans Developer has been upgraded to version 2.1 and supports Swing 1.1 and the 1.1 JDK.
I have not evaluated either of these products.
- Javaworld reports IBM's JVM is the fastest! Javaworld has published
an article (see http://www.javaworld.com/javaworld/jw-03-1999/jw-03-volanomark.html)
showing that IBM's OS/2 JVM even beats Tower Technology's TowerJ static compiler!
Way to go IBM!
- You can download a fix for the ICAT debugger which will speed it up
anywhere from 10 to 50 times. You can download it by FTPing to 126.96.36.199
as user icat1 and password m5paring. Download javaprob.zip and replace the
1.1.7A version or the 1.1.6 version. The main difference was that
TCP_NO_DELAY is now set between the daemon and the front end.
You can also download it by clicking here.
- Rollup 2
is now available for Visual Age for Java. This upgrades Swing to 1.0.3 and Java
to 1.1.7A and adds Euro currancy support. Hopefully Swing 1.1 support will
be available soon. (Thanks Tadashi!)
- Arcane Technologies Ltd.
releases Magician for OS/2. Magician is a Java library which provides
Open GL functionality.
- IBM has released a beta version of Java 2 (JDK 1.2) for AIX on their
web site. Hopefully an OS/2 release is not too far behind. - Thanks Tadashi!
- New January 11 Java 1.1.7 fix! To install the fix follow these directions:
- Download the files read.me, runtime.exe, toolkit.exe, and samples.exe
- Read the read.me file
- Close all Java applications and Netscape Navigator.
- Backup your old Java11 tree.
- Execute runtime.exe, toolkit.exe, and samples.exe in a temporary directory.
- Copy the new java11 directory in your temp directory over the old
\java11 directory tree. If some files are locked then you may need to first
- I have made another port of Jikes 0.41 for OS/2 with full source code. More information
is available here.
- Jikes 0.41 for OS/2 is now available at http://www.ozemail.com.au/~jgprice/jikesos2.zip.
Jikes is a high-performance Java byte-code compiler that is much faster and stricter
than Javac. From my own experience it is also much more reliable than Javac as well.
My main project at work, for example, causes problems with Javac (due to compiler bugs)
but compiles fine with Jikes.
- Java 1.1.8 on the way?
While browsing Sun's JFC 911 bug page I found a reference to an upcoming version 1.1.8.
I guess even though Java 2 was just released (formerly Java 1.2) Sun is going to
continue to support Java 1.1 for the time being. If and when Sun releases Java
1.1.8 I expect IBM to release an OS/2 version shortly. As always, I will post
here immediately as soon as any new information regarding Java 2.0 for OS/2 becomes
available. If you know anything, please email
- JFC Swing 1.1 GA
is released on Sun's Java web site! For more information on Swing and OS/2 click
- I know this isn't Java related, but EMX has been updated to 0.9d. This new
version is based off of the latest version of GCC, 2.8.1. It is available for
- Java 1.1.7A CDROM
for sale! BMT Micro is now taking orders for a CD ROM containing the latest
Java 1.1.7 for $15 + shipping.
OS/2 Java 1.1.7a is the fastest! IBM has published some new performance
numbers with Java 1.1.7a. It benchmarks almost twice as fast as
Micro$oft's Java-like virtual machine.
- IBM has officially stated that they will make an alpha version of the AIX
JDK 1.2 available within 30 to 60 days of December 7. While no OS/2 date has
been specified, I believe we can expect to see an OS/2 version appearing
sometime within the first half of 1999. The delay between the Sun and IBM
releases are caused by the value IBM adds, such as enhanced garbage collection
and an enhanced JIT compiler. IBM will release their Java 1.2 plans in
January on their
OS/2 Java web page. As always, I will update this page as soon as I learn
- InstantDB version 1.9 is now available. InstantDB is a 100% pure Java relational database management system (RDBMS).
It is free to non-commercial and non-government organisations.
- IBM has released the source code to the Jikes high-performance Java compiler.
This compiler is much stricter than Javac and also much faster. It outputs Java
bytecode class files just like Javac. You can download the source
This code does not yet compile for OS/2. I'll work a bit on it when I have some
time since I use Jikes a lot at work.
- Java 1.1.7A GA for OS/2 released! This version
of Java is the fastest JVM on the planet right now! It also includes all of the latest
1.1.7A fixes from Sun! You will also need the latest Feature Installer to
install this or use CID install. Be sure to use "-d" when running the
self-extracting Java files. Be sure to use the latest Feature Installer.
Also note that CID install of the toolkit does not work. Hopefully
IBM will have Java 1.2 ready for OS/2 shortly.
- Java 1.1.6 updated!
This is the November 18, 1998 release
- Simplicity for Java Beta 1.1 Available! Data Representations has a special right now where you can
purchase Simplicity 1.0 for $89 and get a free upgrade to version 1.1. This
offer expires on December 7 when the price will change to $149.
- Net Beans is available for OS/2. While
I have not yet tried this IDE, I have heard many good things about it.
IBM has made available a preview version of the long-awaited Java 1.1.7 for
OS/2. Reports have indicated that it is up to 3.5 times as fast as 1.1.6!
Normal installation does not work. Instead, use the CID install. To do this
you will need to edit CID.RSP and CID.CMD to use the appropriate drives and
directories. Be sure to read the readme.en (or whatever your native language)
Be sure to read the readme file before installing. This is a must to download!
- I have started a project to write a clone of Stardock Systems'
Galactic Civilization game in Java.
Here is a link to the project web page.
- New Java 1.1.6 for OS/2! IBM has released an updated version of Java 1.1.6 dated November 18.
Be sure to read the read.me file before installing. You must have teh GA version
of Java 1.1.6 installed prior to installing this service release.
Here is a list of fixes.
- Netbeans, formerly Xelfi has released a beta of their
new NetBeans 2.0 IDE development kit beta. The IDE is written entirely in Java
using the Swing GUI and seems to run quite well with the OS/2 1.1.6 JDK. Performance
appears to be quite good, perhapse on par with IBM Visual Age for Java (in some ways it
seems faster!). If you are doing Swing development I highly recommend this package.
NetBeans also has a very easy to use visual builder which supports many common Swing
components, such as JLabel, JTree, JTabbedPanel, JScrollPane, JSplitPane, JTextPane,
and many others. If you want an IDE for Java development, this should be a serious
- Sun has announced Jini. Jini
sounds like the ultimate solution for network computing. It looks like it is a combination
of network plug and play along with full distributed Java application support. This
may be the next big thing. Keep an eye on it.
- Swing 1.0.3 released by Sun! This is just minor bug fixes over 1.0.2.
- Final Release of OS/2 Java 1.1.6! Combining this new
Java release with the latest (6/19) Netscape 2.02 seems to
be much more stable than previous releases. I can even run the
Swing (JFC) examples reliably!!!
Here is a sample Swing applet you can test your setup with.
Note that you need to update your CLASSPATH environment variable, preferably in CONFIG.SYS, to include the
swingall.jar file. Here is a much more extensive Swing applet to test. This one
uses many of the Swing features. Note that if you do not have the latest Netscape then Swing will likely crash it.
If you have not installed Swing, then here is an example. This will
likely crash if you do not have the latest Java 1.1.7 JDK and the latest (as of 6/19) Netscape. Note that
this demo is fairly large and may take a while to load.
I also just found that the Hot Java 1.1.4 browser works much better with this latest version of Java. It no
longer performs constant redraws every time a new item is loaded.
If you need help, I have instructions on setting up Swing here.
- SFS Software has released CoffeeShop, another IDE for Java.
I have not tested this package yet, but it claims OS/2 compatibility.
- Hot Java 1.1.4 released by Sun!
- Simplicity for Java has been released! This is a very cool IDE environment that is written entirely in Java and works well with the OS/2 1.1.6 JDK. It has extremely good visual development capabilities and I highly recommend it. It's visual development environment looks much better than IBM Visual Age for Java, and it's also faster!
- LAVA - The Java GUI Developer is another Java visual development tool. LAVA requires Java 1.1.1 or later and
is also written entirely in Java. From my initial inspection it is very easy to use but not nearly as powerful as Simplicity, however it is much less expensive (free).
- Updated Java 1.1.4 and a list of fixes! Last updated March 23, 1998
(be sure to back up your old Java 1.1.4 first. See the Hursley OS/2 Java newsgroup first.
- Hot Java 1.1.2 Available with notes on OS/2 by Sun!
- The Java Foundation Classes (SWING) version 1.0.2 has been released by Sun. The JFC works very well with OS/2 Java 1.1.6. If you want to write something in Java, use the JFC for the GUI. The JFC will likely replace the AWT in the future and will be standard in Java 1.2.
Note that you will need the new Java 1.1.6 and the 6/19 version of Netscape to run these reliably. If you want to do some
Java programming, these are the classes to use!
- InfoBus for Java Beans - Dynamic Data Exchange between beans
- High Performance Compiler for Java (OS/2 compatible)
- Java 1.1.4 OS/2 released! This is around 29MB!
- Hot Java 1.1 compatible with OS/2 Java 1.1.4
- Sun Java Web Server compatible with OS/2 Java!
- IBM Java Apps, including IRC and Bamba
- Free download of Visual Age for Java Entry Level!!!
This came from
Karl Hörnell's home page
Anything marked with (local) will be serviced by Aaron's Java Web server.
JAVA Documentation and Information
If you know of any good Java links, send me email
Java FAQ: Every beginner Java programmer should read this...
OS/2 Java documentation:
IBM Java sites:
Note: If you delete the old Java files be sure to preserve the files
These files allow Java applets to run in Netscape.
If you need information on installing IBM's Java for OS/2, the
Introduction to Java for OS/2 page
contains useful information.
Java 1.1.x Tips:
- To use the ICAT debugger with Java make sure that no CAT_ environment variables
are set. Also, the next fix for Java 1.1.7 will include a major performance improvement.
The next version is at least ten times as fast! Also, set the daemon
to NO_CONNECTION and ICAT will automatically launch the debugger daemon.
- To install Java 1.1.7A you need to have the latest version of the Feature Installer.
At last check the latest version is 1.23. It is best not to install over a previous
version. Before installing the new version delete all files in the \JAVA11 directory
tree. Also delete all references to JAVAOS2 in your classpath.
- If you are having problems with Netscape after installing Java 1.1.7 you need
to check some environment variables in config.sys. Make sure that
JAVA_HOME is not set. Also, java11 must be
placed in front of javaos2 in the libpath and
path statements in config.sys. Your CLASSPATH statement should
look like this:
With these settings I can now run Java 1.1 and Netscape simultaneously. If you want to
fall back to Java 1.0.2 just do the following:
I have had lots of problems following the instructions provided by IBM.
IBM's instructions do not allow you to go back to JAVA 1.1 after Java 1.0.2
has been set using BEGINLIBPATH.
If you installed the special beta Netscape with Java 1.1 support then you should
use the CID install procedure rather than the standard install. The Netscape Beta
is not compatible with Feature Install.
Java Foundation Classes (Swing):
The Java Foundation Classes are the next generation beyond the AWT. While they are based on the
AWT and can in many instances interact with the AWT, they go much further in terms of GUI
components. The Java Foundation Classes are the standard in Java 1.2, and they are currently
available for Java 1.1.7A.
Here are the steps needed to install the Java Foundation Classes:
(Note that you will need to substitute drive letters from what I specified.)
- Download the Java Foundation Classes from Sun.
Make sure that you select the ZIP format.
- Put the ZIP file in your Java11 directory.
- Unzip the ZIP file using the latest Info-ZIP. Some other ZIP programs may
not work properly.
- Edit the CLASSPATH in CONFIG.SYS. It should look something like this:
You now need to reboot for the change to take effect. If you don't feel like rebooting then
you can manually change the classpath on the command line before running Java or Netscape.
If you have any problems with your classpath then append the following onto the end of it:
Now Swing should work with Netscape.
- To run the Swing demos as Java applications you will need to modify the runnit.bat script.
Here is an example of my script to run the SwingSet example, which is the most impressive Swing
java SwingSet file:%SWING_HOME%\examples\SwingSet\doc\api
KaAPI is a package that provides customization and extendibility for Java applications during runtime.
KaAPI may be downloaded here in zip,
self extracting OS/2 exe, or
self extracting Win32 exe.
If you have any questions about KaAPI
you can email the author,
Java Development Environments compatible with OS/2:
- IBM Visual Age for Java 2.0
is an excellent product! This product provides a complete IDE. It is rather
different from conventional IDEs in that it is totally object oriented. You
don't deal with files, but packages, classes, and methods. It has tons of
really cool tools and performs incremental compiles. I'm blown away by it.
To use it you will need a lot of horsepower. I suggest a minimum of 128MB RAM
and a minimum 200MHz Pentium processor. I find it acceptable on my work
machine which is a 233MHz K-6 with 128MB of RAM. The entry edition of
Visual Age for Java is available for download free of charge.
- NetBeans is available for OS/2 and a full-featured
evaluation version is available for free! Netbeans, like Visual Age, provides
an IDE and a visual development package with Swing support.
- Simplicity for Java has
been released! This is a very cool IDE environment that is written
entirely in Java and works well with the OS/2 1.1.7 JDK. It has extremely good
visual development capabilities and I highly recommend it. It's visual
development environment looks much better than IBM Visual Age for Java, and
it's also faster! Like NetBeans and VAJ it also supports Swing.
Of the three IDEs I list above, the most powerful by far is Visual Age for Java.
This IDE is unlike any other I have seen. It is totally object oriented. You
don't edit files, but packages, classes, and methods. When you go to edit a
different method it automatically performs incremental compiliation and
detects errors in your code. I was really shocked when I mistyped a variable
name. It brought up a dialog box offering corrections, and it listed the correct
variable name. I was floored when I saw this!
Equally important to writing the code is debugging it. Visual Age for
Java's debugger is a must for any large Java project. At work I was struggling
with a 13,000 line Java Swing applet and VAJ made debugging it a piece of cake.
IBM may have been very slow shipping me my free upgrade from VAJ 1.0, but it was
well worth the wait. This is an excellent product and I highly recommend it
whether you are an experienced Java developer or a beginner. The entry edition,
as stated above, is free if you can download it. The VAJ 2.0 box contains CDs
for both OS/2 and Windoze 95/98/NT. Don't expect to see a Linux version soon
since IBM wrote it in their Smalltalk environment.
Here are some other Java development environments:
- LAVA -
The Java GUI Developer is another Java visual development tool.
Other JAVA information:
Java Security Related:
- The WarpCentral - The Hostile Applets Home Page
This page is available from the OS/2 Links (page) followed by the Java page.
- A Collection of Increasingly Hostile Applets
Other Java-based Web server projects:
Fun Java Stuff:
Sun Java Web Server:
It has been reported that the Sun Java web server is compatible with the OS/2 Java 1.1.4.
To run it, you must download the Solaris port from Sun.
Next use gzip and tar for OS/2 to extract it.
You might want to change the directory where it installs it to something like
jws1.0.3 instead of javawebserver1.0.3. Next you need to set your classpath to
I usually set the classpath from a script file.
Now to start the server, type:
java -noasyncgc -ms4m -mx32m -Dserver.root=X:\jws1.0.3 -Duser.keystore=X:\jws1.0.3\keys sun.security.Login sun.security.AuthGUI sun.server.ServerProcess
Note that the web server's default configuration is to use port 8080 rather than port 80. You
can use the Hot Java browser for configuration or Netscape with 1.1.4 support. Configuration is
performed through the admin window.
- thanks to David Torres for this info.
Hot Java and OS/2:
The Hot Java 1.1 browser from Sun is compatible with the new OS/2 1.1.4 JDK! To install
and run it, do the following:
That's it. Just run the batch file and the Hot Java 1.1 browser should run.
- Download the Hot Java browser from Sun. Make sure you
download the Solaris version.
- Unzip the file using Info-ZIP. Don't worry about the lack of a .ZIP extension.
- Delete all of the directory trees under HotJava1.1 except lib and UsersGuide.
- Create a batch file similar to this:
Java -classpath g:\hjos2\HotJava1.1\lib\classes.zip;g:\java11\lib\classes.zip;. -ms4m -mx32m -Dhotjava.home=g:\hjos2\HotJava1.1 -Djava.home=G:\Java11 sunw.hotjava.Main
I have found that the Hot Java browser is not the most stable browser, and after a while
it can start crashing or behave strangely with lots of Java error messages appearing. The nice thing
about the Hot Java browser, though, is its ability to run Java 1.1 applets and its flexible
Other OS/2 Java related pages:
To view PDF documents, download
The latest version works as a plug-in for Netscape Navigator for OS/2.
Java Information Resources
I am currently working on a Java-based web server. The current implementation
is serving this web site. Currently it supports basic file caching and CGI
It also keeps track of the "modified since" field sent by the browser to not
re-send documents the browser already has cached.
I hope to add support so the server can limit the domains that
can access the server. I also want to add support to load external classes compatible with Sun's Servlet standard
to replace CGI support. Native java classes should be much
more efficient than CGI scripts. I also need to add some method of password
protecting directories. When I have the features I want implemented
finished I will likely release the server to the public domain with full
Aaron can be emailed at
[Back] to Aaron's home page