Java Plug In For Mac Safari



Last updated: February 1, 2019

The upgrade put Safari at version 12.0 (13606.2.11). There no longer is a Java plug-in under the list of available plug-ins that can be enabled/disabled for individual web sites. Specifically, it used to look like this: Now I now longer see Java in the list of plug-ins at the lower left.

Update: Please see Java support in Safari 12 for information about viewing Java content with macOS. The information conveyed in the article below is no longer supported on your Mac.

Some web sites contain Java content that requires a Java Runtime Environment (JRE) to view. If your Mac does not have JRE, you may see a missing plug-in notification instead of the content itself. This usually means your Mac does not have Java enabled, or does not have Java installed. Also see Java support in Safari 12.

Before you can enable Java with Mac, you may need to verify and download it first. If Java is not enabled by default after you download and install it on your Mac, it might need to be manually enabled. To do so, launch the Java Control Panel on your Mac (Apple menu > System Preferences > Java).

Double-click the Java icon in System Preferences. The Java Control Panel will launch in a separate window.

  1. Java+You, Download Today! Java Download » What is Java? » Uninstall About Java.
  2. Safari Plugin free download - Dolby Surround Plugin, Safari AdBlocker, ImTranslator Plugin for Internet Explorer, and many more programs.

In the Java Control Panel, click the Security tab. Check the Enable Java content in the browser check box, and click OK to save your edit.

Safari Update For Mac

So the change takes effect, close all your open web browser windows. In a new browser window, visit the web page with Java content to see if it displays.

Certain web browsers, such as Google Chrome, will block Java content from displaying by default. If you are trying to view a web page with Java content on your Mac using Chrome, try an alternate web browser like Safari or Firefox. If you have no choice but to use Chrome, you can view Java content within the Chrome wrapper using the IE Tab extension. IE Tab uses the Internet Explorer rendering engine so you can view Java content in Chrome. It allows you view ActiveX and Silverlight content too. IE Tab is easy to install, and even easier to use, keeping in mind that it only works on Windows.

Thank you for visiting Tech Help Knowledgebase to learn how to enable Java with Mac.

Tech Help Knowledgebase creates how-to articles and video tutorials for common issues, and provides technical support for the categories covered by our site.
Get Support.

The Java Embedding Plugin was written by Steven Michaud (smichaud at pobox.com)

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'.)

Java Plug In For Mac Safari Settings

II) Requirements

The current version (0.9.7.5) of the Java Embedding Plugin and the MRJPlugin JEP requires Mac OS X 10.4.11 or higher. Older versions(0.9.6.5 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.)

Enable Java Safari

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?

Mac

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.

Safari

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.

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 :-)