What causes the Java installation dialog to appear in OS X?

A few ideas for getting rid of this annoyance.

java webstart icon

Robert Vallee wrote in with a simple request related to a Java dialog that keeps appearing:

How to get rid of this sticky pop-up window that’s coming on and on?

mac911 java legacy install prompt

This Java dialog at least tells you the app that needs Java. Many times, there’s no detail at all about why it appeared.

The popup dialog is maddening from several standpoints:

  • It says you need to install a legacy version of Java, which seems to imply that you’re asking for a security problem.
  • It often appears when you’re not doing anything—it’s not related to an action.
  • The two options are More Info or OK, but the focus is on More Info. Pressing Return opens the webpage associated with More Info.
  • You’re not always told what’s causing the dialog to appear. In Robert’s case, it says it’s web content. When I’ve seen it, it doesn’t identify what’s causing the dialog at all.

Robert, I feel for you, because ever since I installed Yosemite, I’ve had this problem off and on. I managed to solve it for Yosemite somehow—I still don’t know how—and then it appeared again once I’d installed an El Capitan public beta. Recently, I managed again to get rid of it, and again don’t know how, after weeks of having it crop up multiple times a day.

The good news is that you can ignore it. Click OK, and forget it. The bad news is it’s so annoying and intrusive. Apple unfortunately doesn’t provide an option to disable the dialog, even though OS X is creating it. Apple stopped including Java after Mountain Lion, but makes a special legacy version available.

Java had enough security flaws in its use via websites and zero advantages for Mac users that Apple updated Lion and Mountain Lion to disable its use in browsers. But some cross-platforms “Mac” apps are really just Java packaged in a form that can run in OS X. CrashPlan for OS X remains Java based, although the company reformulated its distribution to incorporate the Java runtime engine inside the software package. (If you have a Java preference pane, you can go there to make sure your security settings are the way you like, especially keeping it from running in a browser.)

But if you launch a program that requires Java, it tells you explicitly. The dialog that drives Robert, me, and many others batty appears without enough information upon which to act.

After scouring the Internet for advice over the last year, I have several suggestions of what to try.

Check the Users & Groups system preferences: Select your user name in the list (if it isn’t already) and then click Login Items. You may need to authenticate your account to proceed. Most apps have migrated away from using Login Items to launch background agents; they should use a different process that’s more reliable and recommended.

In my list, I have only one app I want to launch; EyeTV is the only package that has a “helper” app that also runs at launch. If you see anything odd here you no longer use, select it and click the minus sign (-) to remove it.

Some people have reported that outdated Adobe Creative Suite agents were in this list long after they’d stopped using a given version, and suggest removing those as it solved their problems. Some older web-development software, such as earlier versions of Dreamweaver, may require an OS X-based Java installation. Qoppa’s PDF modules and software use Java, too, and may be the reason some users see a dialog on older systems.

Outdated launch agents, daemons, and plug-ins: OS X allows software to drop in a variety of tools to have the system launch components as needed. You may have a component that gets triggered from the Finder or other background processes that’s ancient and tucked away in. In the Finder, select Go > Go To Folder (Command-Shift-G) and paste in each of the following in turn:

/Library/Internet Plug-Ins

mac911 legacy installed plugins

In researching this article, I found huge amounts of cruft in my Internet Plug-Ins folder.

Those are globally available items for all users; add a tilde (~) in front, like ~Library/ and you can check the same subfolders in your own user account. You may find all sorts of nonsense in there. I found items dating back years. Some will no longer do anything; others are chewing up a little of your processor time in the background, eternally.

Select the ones you’re sure you don’t and move them to the trash. You may need to authenticate your account to complete the operation.

See what software uses Java: If none of this worked, you should examine your Applications folder to figure out if there’s something hiding there that could be the culprit.

A clever member of the Apple Forums suggested a lengthy Terminal-entered command that will provide a summary (after up to a few minutes of chugging away) of all the apps that have Java components. Copy the entire following line and enter it at a Terminal prompt:

find /Applications -type d -name *.app -prune -exec sh -c 'ls -R "$1" | grep -q \.jar\$' {} {} \; -print

Not all these apps use Java, but all of them contain some Java components, some of which could be activated when the program is in use or when it’s in the background. And some may include the full Java runtime, as CrashPlan does.

Unfortunately, you may still see the dialog box after trying all of the above. Let us know in the comments or at mac911@macworld.com what worked and what didn’t.

Thanks to Cynthia D’Angelo for patiently testing out over a dozen potential fixes in the hopes of removing her own dialog box. None worked so far!

Ask Mac 911

We’re always looking for problems to solve! Email yours to mac911@macworld.com including screen captures as appropriate. Mac 911 cannot reply to email with troubleshooting advice nor can we publish answers to every question.

Subscribe to the MacWeek Newsletter