Download Java Embedding Plugin For Mac

1 Add the Mono repository to your system. The package repository hosts the packages you need, add it with the following commands. Note: the packages should work on newer Ubuntu v.

  1. Java Embedding Plugin Firefox
The Java Embedding Plugin was written by Steven Michaud (smichaud at
  • The Java Embedding Plugin works at a low level -- the same as that of Apple's old Java Embedding Framework (which still provides Java 1.3.1 functionality on OS X Tiger) and the 'OJI Plugin' that Sun makes available with its Java Plugin on other platforms (but which Apple chose not to port).
  • About Camino for Mac Camino combines the awesome visual and behavioral experience that has been central to the Macintosh philosophy with the powerful web-browsing capabilities of the Gecko rendering engine.

I) What is the Java Embedding Plugin?

The Java Embedding Plugin is a utility that allows other web browsersthan Apple's Safari to use the most recent versions of Java on Mac OSX. When used together with an updated version of Mozilla's MRJ PluginCarbon (included in this distribution), the Java Embedding Plugin'sfunctionality is available to current releases of Firefox, Seamonkeyand Camino -- and is in fact bundled with them. But in principle anyweb browser could use the Java Embedding Plugin to add support forJava 1.4.2, J2SE 5.0 and (where available) Java SE 6.

Apple's older Java versions (1.3.1 and earlier) have a documented APIfor use by browser developers -- the Java Embedding API, exported bythe Java Embedding Framework. But until very recently Apple didn'tprovide a realistic way for non-WebKit browsers to support more recentJava versions. This was an unfortunate state of affairs, and I'vedone something about it. (For about a year Apple has been working ona port of Oracle/Sun's Java Plugin2 to OS X, which was included intheir last few Java Updates for OS X 10.5.X and 10.6.X. This doessupport a standard API (the NPAPI), and does (in principle) work inall browsers. But, though the latest version is a vast improvement onprevious ones, it isn't yet quite 'release quality'.)

II) Requirements

The current version ( of the Java Embedding Plugin and the MRJPlugin JEP requires Mac OS X 10.4.11 or higher. Older versions( and earlier) required Mac OS X 10.2.8 or higher. (Droppingsupport for Mac OS X 10.3.X and 10.2.8 made it possible to greatlysimplify building the Java Embedding Plugin from source.)

As mentioned above, the Java Embedding Plugin has for the last fewyears been bundled with current Mac distributions of all the Mozillabrowsers -- Firefox, Seamonkey and Camino. So if you're using one ofthese browsers, you don't need to install the Java Embedding Plugin.But you may wish to replace the bundled version of the Java EmbeddingPlugin with a more recent version (for which see thenext section).

The Java Embedding Plugin currently isn't compatible with (and isn'tbundled with) Firefox 4 (currently available only in pre-releasebuilds). I'm working on a version of the JEP that will be compatiblewith Firefox 4.

III) Installing the Binaries

You don't need to do this unless you're replacing the bundled versionof the Java Embedding Plugin (in a Mozilla browser) with some otherversion.

Note that these instructions have changed from those included inprevious JEP versions' Readme files. This is because Apple madechanges in their most recent Java Updates (on OS X 10.5.X and 10.6.X)that cause the previous instructions to no longer work properly.

For each of the browser binaries you wish to update:

  1. Control-click (or right-click) on the browser binary and choose 'Show Package Contents'.
  2. Browse to the Contents/MacOS/plugins folder and delete JavaEmbeddingPlugin.bundle and MRJPlugin.plugin.
  3. Drag copies of the new Java Embedding Plugin binaries to the Contents/MacOS/plugins folder.

Mozilla browsers always prefer the version of the Java EmbeddingPlugin in their Contents/MacOS/plugins folder to whateverversion (if any) is available in /Library/Internet Plug-Ins.

The versions of JavaEmbeddingPlugin.bundle andMRJPlugin.plugin (in Contents/MacOS/plugins or/Library/Internet Plug-Ins) need to match each other. Tosee either binary's version, control-click (or right-click) on it andchoose 'Get Info'.

IV) How Does the Java Embedding Plugin Work?

The Java Embedding Plugin works at a low level -- the same as that ofApple's old Java Embedding Framework (which still provides Java 1.3.1functionality on OS X Tiger) and the 'OJI Plugin' that Sun makesavailable with its Java Plugin on other platforms (but which Applechose not to port). Basically, it uses the (C-based) Java NativeInterface to bootstrap the JVM, then uses Java code to create anenvironment that can host an applet.

The Java Embedding Plugin uses many undocumented APIs in the AppKitFramework and in Apple's Java Virtual Machine (whose code is in theJavaVM Framework). I make no apologies for this -- without it my workwould have been impossible. But it means that the Java EmbeddingPlugin is more likely to break on future releases of OS X and ofApple's JVM than an app that uses only published APIs.

V) Debugging and Troubleshooting

The Java Embedding Plugin is a beta app that heavily depends onundocumented APIs. So there will be problems, and I need your help tofix them. But the Java Embedding Plugin won't suddenly become thecause of all the problems on your computer :-) So you need to work abit to winnow out the problems that have other causes. Fortunatelythis is very easy.

If you have a problem with an applet in one of the browsers that theJava Embedding Plugin currently supports (Firefox, Camino orSeamonkey), first look in the following file in your home directory --~/Library/Logs/Java Console.log. This file is created bythe MRJ Plugin JEP, and contains a record of your most recent Java'session' -- including any Java exceptions that may have occurred.Another way to view Java exceptions is to run the Java Control Panel(Java 1.4.X Plugin Settings inthe /Applications/Utilities/Java folder, or JavaPreferences in the /Applications/Utilities/Java/J2SE5.0 or /Applications/Utilities/Java folder) andchoose 'Show console' (though this will cause less information to bewritten to Java Console.log).

The Java Embedding Plugin logs to the Java Console whenever itcreates an applet (each entry will contain a timestamp and (at least)the text JEP creating applet [name]). If your consolelog doesn't contain one or more recent entries for applets created,then either they weren't loaded or the current page doesn't containany applets.

If it's really an applet that you're having trouble with, try thesame applet in the other supported browsers and in Safari, and (ifpossible) on different platforms (e.g. in some browser on Linux orWindows).

An applet problem that occurs in Safari, Firefox, Camino andSeamonkey, but not on other platforms using the same version of theSun's Java Plugin, is likely to be a problem with Apple'simplementation of Sun's JVM. A problem that also occurs on otherplatforms using Sun's Java Plugin is likely to be a problem with Sun'sJVM ... or even possibly with your applet :-)

If possible, try the applet on different versions of Mac OS X.I've seen some Apple-specific problems (i.e. ones not found in similarversions of Sun's JVM on other platforms) disappear with the changefrom Mac OS X 10.3.X to 10.4.X, or from 10.4.X to 10.5.X.

Download Java Embedding Plugin For Mac

If the problem isn't associated with a Java applet, it's likely notto have anything to do with Java or the Java Embedding Plugin :-)

Please enable JavaScript in your browser to use all the features on this site.

ClosedBug 460354Opened 12 years agoClosed 11 years ago


(Camino Graveyard :: General, defect, minor)

For issues in Camino that don't fit into other Camino components.


(Reporter: glen.mcallister, Unassigned)


Whiteboard: [CLOSEME 6/21]
Summary: Camino will not allow more To: email addresses to be selected than #windows open → Gmail will not allow more To: email addresses to be selected than #windows open

Java Embedding Plugin Firefox

Closed: 11 years ago
You need to log in before you can comment on or make changes to this bug.