You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Open JVM Integration (OJI)

Ed Burns ( or George Drapeau (
Last Updated
11 April 2001.

When and Where Do We Meet?

We meet in Sun's building CUP-01 (Cupertino 1), Tuesdays at 3:30. Meetings are open; if you wish to join, please contact George Drapeau for details. Serious inquiries only, please.

Where do I get the latest Java Plugin?

The latest available Java plugin for Netscape 6 is the one that comes with Netscape 6.01. Please visit netscape to download Netscape 6.01 with the Java Plugin Java version 1.3.0_01 for Windows and Linux platforms. For Netscape and the Java Plugin on Sun Solaris please visit Sun.

Latest Status

Status reports from the weekly OJI engineering meeting are kept in this directory as plain text files.

Also check the status update page for more information

when installing Netscape 6, choose the "Custom" install option and make sure the "Sun Java 2" box is checked. If you have security problems accessing applets outside of your firewall, see this note.

Now that Netscape 6 is available, many are asking: does Java work? Happily, the answer is yes, but not by default. You must choose either the "Complete" or "Custom" option when installing Natscape 6. When you choose the "Custom", you must make sure the "Sun Java 2" box is checked. This will install JRE 1.3.0_01.

The correct versions of these files are automatically installed when you run the Netscape 6 installer. If you already have a JRE on your machine when you elect to install Java with Netscape 6 Preview Release, it will be upgraded to JRE 1.3.

A final important note regarding running applets that reside outside a firewall: please visit this note about DNS spoofing and the Java plug-in.

If you want to see Java running on the Mac, visit [MRJ Plugin for Netscape 4.X].

As always, if you feel inclined to write your own Java VM and Java Plugin, take a look at Introduction to OJI Internals. This document is an introduction to the topic of what Mozilla requires of an OJI plugin.

OJI and JavaScript Security

Jeff Dyer is currently working on implementing Java-to-JavaScript security in Mozilla, and helping the Java Plug-In complete its implementation of signed applet support and HTTPS support. If you want to see his designs, please follow these links for Acrobat diagrams that show OJI Security Overview and an OJI Security Interfaces document.

The Open JVM Integration project (OJI) is working to extend the browser to allow Java virtual machines to be plugged into Mozilla. OJI will allow the applet and object tags to show Java applets on a page and support LiveConnect (the bridge between Java and JavaScript). Most of the OJI project involves extending the existing Plug-in API to define what we're calling the Open JVM Plug-in API. Although some of these are JVM-specific much of the changes are of general interest to plug-in developers.

Our strategy for developing the Open JVM Plug-in API is to enlist the help of third-party JVM providers and the community by periodically posting our source code to and by actively inviting partners to join us in the design and development process. We've set up the netscape.public.mozilla.oji news group for discussions. Currently we're working with JavaSoft, Apple and others to make their Java plug-ins be more full featured replacements to the Netscape JVM. We plan to have our partner's JVMs be available at the same time 5.0 is Released.

What does this mean for end-users? Several things:

  • Applets and LiveConnect running in Mozilla,
  • a choice of Java virtual machines in Communicator 5.0,
  • backward compatibility with previous Communicator Releases,
  • a chance to migrate to JVMs supporting Java 1.2 and future versions.

For Java developers, this means:

  • ability to write Java code depending on newer versions of Java and AWT,
  • backward compatibility for Java code between Communicator Releases,
  • choice of JVMs when deploying Java-based browser applications.

And for Java VM providers:

  • a vehicle for delivering their Java virtual machine to the web user community,
  • opportunity to continue to enhance Java support in Mozilla and Communicator.

How can you help? For now we're looking for people who can help review the code we've developed so far, and are willing to work with us to improve things. This includes JVM providers, as well as general plug-in developers. In the future, we'll need people to help us with testing and verification. The code now is primarily located in the following directories:

  • mozilla/modules/plugin
  • mozilla/modules/oji

The Open JVM Plug-in API depends on the XPCOM object model which is described in Extending Mozilla. Be sure to read that first, and stay tuned for more documentation and updated headers in the future.

We welcome your comments. Please direct them to netscape.public.mozilla.oji or netscape.public.mozilla.general.