Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

To open "Eclipse" you need to install the legacy Java SE 6 runtime

Just installed a fresh version of Kepler 64bit "for Java Developers" on Yosemite, getting this error on first launch. Any thoughts on how to fix? Really do not want to downgrade my Java version!

like image 847
Brad Thomas Avatar asked Nov 10 '14 15:11

Brad Thomas


People also ask

How do I install legacy Java SE 6 runtime on Mac?

Follow these instructions and download the Java Runtime 6 installer to your Mac. Once you have it done, double–click the . dmg file to launch the installer. Follow the onscreen instructions to finish the installation.

Do I need to install JRE for Eclipse?

Current releases of Eclipse require Java 11 JRE/JDK or newer. A Java Development Kit (JDK) includes many useful extras for Java developers including the source code for the standard Java libraries. Regardless of your operating system, you will need to install some Java virtual machine (JVM).

Do I need JDK or JRE for Eclipse?

Eclipse has its own compiler so you don't need JDK if you are working with Eclipse. There is some cases/plugins that are only working with JDK such as Maven. So if you are planning to use Maven (either from Console or from Eclipse) you will need to download JDK.

Why Eclipse is not opening?

If you've installed Eclipse but are having trouble getting it to run, the most likely cause is that you have not correctly specified the JVM for it to run under. Eclipse startup is controlled by the options in $ECLIPSE_HOME/eclipse. ini. If $ECLIPSE_HOME is not defined, the default eclipse.


1 Answers

I just encountered this in another Eclipse-based app on Yosemite and figured out (with help from the references below) how to get the app running without installing the legacy Java SE 6 JRE. Here are the steps in case it helps other devs get Eclipse working.

PRECONDITIONS

$ sw_vers -productVersion  10.10.1 $ java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) 

Other configurations might work; this is my environment.

STEPS

  1. Edit the info.plist for the JDK after installing:

    $ sudo nano `/usr/libexec/java_home -V`/../info.plist 
  2. Change the following section:

    <key>JVMCapabilities</key>  <array>   <string>CommandLine</string>  </array>  

    to

    <key>JVMCapabilities</key>  <array>   <string>JNI</string>   <string>BundledApp</string>   <string>WebStart</string>   <string>Applets</string>   <string>CommandLine</string>  </array> 
  3. Try to open the app from the command-line (not sure if this is strictly necessary, but what I did)

    You should get an error "(app) can't be opened because it is from an unidentified developer."

  4. Go to System Preferences: Security Settings (General) and you should see the recent app next to a button "Open Anyway" -- click this button to open the app.

This opens Eclipse without requiring the separate download of the legacy Java SE 6 files.

NOTES

When I was solving this on MTGBrowser (below) I also followed advice to change the info.plist of the app by adding the following section to the 'Eclipse' key:

<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java</string> 

However, I'm not sure that's strictly required. In any case, that wasn't sufficient -- I also had to change the JDK info.plist and security as described above for a complete solution.

REFERENCES

  • https://sourceforge.net/p/mtgbrowser/bugs/402/#c78c
  • http://crunchify.com/os-x-mavericks-eclipse-java-issue/
  • http://mac-how-to.wonderhowto.com/how-to/open-third-party-apps-from-unidentified-developers-mac-os-x-0158095/
like image 138
Larry Kyrala Avatar answered Oct 05 '22 10:10

Larry Kyrala