Aayush Agarwal
Aayush Agarwal

Reputation: 441

Not able to run Eclipse on macOS Big Sur

I am not able to run eclipse on macOS Big Sur developers beta I am getting an error stating "Failed to create the java virtual machine". Is there any way to solve the error

Error pic

The java version I am running: The java version I am running is showed in the pic

Upvotes: 43

Views: 62844

Answers (20)

pradeep
pradeep

Reputation: 41

On Mac system follow the below step- In terminal and type "open /Applications/Eclipse.app/Contents/" Double click on "Info.plist"

<key>Eclipse</key>
<array>
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java</string>

use this line of code. May sure to uncomment the line of code. Sometime it is commented by default.

Upvotes: 1

user18608645
user18608645

Reputation:

brew install openjdk

add to /Applications/ApacheDirectoryStudio.app/Contents/Info.plist <dict>
<array>: 

<string>-vm</string>
<string>/usr/local/opt/java/libexec/openjdk.jdk/Contents/Home/bin/java</string>

Upvotes: 0

YinPing Zhuang
YinPing Zhuang

Reputation: 1

Setting-security&privacy->Full Disk Access, add eclipse or Spring Tool Suite app.

Upvotes: 0

Vasanth Raghavan
Vasanth Raghavan

Reputation: 162

Apart from the suggestions given, I also had to do an additional step of removing eclipse app from quarantine :

1)Open up a shell

2)Cd yourself into the eclipse directory.

3)Check the attributes of the directory Eclipse.app/ $ xattr Eclipse.app/ com.apple.quarantine

4)Remove the ‘com.apple.quarantine’ attribute. $ xattr -d com.apple.quarantine Eclipse.app/

After completing this along with steps to edit the Info.plist, I was able to open Eclipse

Upvotes: 0

anson
anson

Reputation: 1492

If you are using eclipse 2020-06 sure you will be facing pop-up with empty grey window when debugging. No chance to use Big Sur with eclipse 2020-06 anymore. I'm using eclipse 2021-03 IDE developer and it's working fine. But STS not support anymore you have to manual change to old JAVA 1.8 for your project.

  1. Right click project and properties
  2. Configure Java Build Path
  3. Libraries Tab -> Edit -> change to Java 1.8
  4. Order and Export Tab -> move JRE System Library on top of Project and External Dependencies.

enter image description here

Upvotes: 0

Alferd Nobel
Alferd Nobel

Reputation: 3979

I experienced this issue while using Eclipse Mat and JDK Mission Control On Mac OS v11.6 (Big Sur ) ,the dependency was Java 11 . The following was added in the whatever.app/Contents/Info.plist

<key>Eclipse</key>
<array>
     <string>-vm</string
      <string>/Users/<yourHomeDir>/.sdkman/candidates/java/11.0.2-open/bin/java</string>
      <string>-keyring</string>
      <string>~/.eclipse_keyring</string>
</array>

Upvotes: 1

DANBI
DANBI

Reputation: 11

I deleted all Eclipse files that were already installed and just simply reinstalled with this --cask eclipse-jee on Home brew. I hope it's helpful for whoever is struggling just like past myself.

Upvotes: 1

Hưng Đ&#236;nh
Hưng Đ&#236;nh

Reputation: 11

  • Step 1 : Uninstall jdk 8
  • Step 2 : Install openjdk14 by brew
  • Step 3 : install eclipse 2020-12 version

Upvotes: 1

bytesgo
bytesgo

Reputation: 729

I have the same issue. I solve it by opening /Applications/Eclipse.app/Contents/Info.plist and adding:

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

inside

<key>Eclipse</key>
        <array>
            ADD HERE!
        </array>

Of course the "/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java" value must be replaced with the actual path based on the JDK version you are using.

Upvotes: 72

Ankur Srivastava
Ankur Srivastava

Reputation: 923

I had to install the latest version of Eclipse to make it work since that uses Java 11. This happened after I updated to Big Sur.

Upvotes: 1

Georg Tuparev
Georg Tuparev

Reputation: 441

In addition to all steps recommended above I had to create the following symlink:

    cd /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/lib
    sudo ln -s ../jre/lib/server/libjvm.dylib libserver.dylib

The version of the Eclipse I use is 4.4.1. (because tested to work well with WebObjects)

Upvotes: 1

Ken Lin
Ken Lin

Reputation: 1919

I upgraded to Big Sur a few days ago and also encountered this problem when I finally ran Eclipse this morning.

The latest Eclipse 2020-12 release includes its own JRE (!), thus I no longer experience "Failed to create the java virtual machine". I've left my Java versions unchanged for now as I only use Eclipse to create Tomcat webapps and do not run standalone Java.

$ /usr/libexec/java_home 
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    1.8.121.13 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_121 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
    1.7.0_60 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

Upvotes: 1

amar kaldate
amar kaldate

Reputation: 21

I tried all solutions posted under this question; but none of them worked for me. Finally, I installed the latest version of Eclipse 2020-09 (4.17.0) to make it work.

Upvotes: 1

Leonardo Pascual
Leonardo Pascual

Reputation: 57

enter image description here

In my case I'm using a old version IDE and it's dead, already add the JAVA_HOME variable, ini and list of eclipse and not working, also noticed virtualbox is dead also can start any VM.

-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/bin/java

Upvotes: 2

Gurvinder
Gurvinder

Reputation: 11

Confirmed, adding below to Infolplist worked. I have Oracle jdk 8 and updated the value below. -vm/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java

Upvotes: 1

Ahmad Harharah
Ahmad Harharah

Reputation: 31

Same thing happened to me turns out when I ran echo $JAVA_HOME the directory has been replaced,

Doing a brand new export to the java home file seemed to do the trick, I used

export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/

Seemed to do the trick, note that your directory might be different I suggest tracing to your correct directory by using "/" then tab to trace the directories.

Upvotes: 3

poke19962008
poke19962008

Reputation: 723

TL;DR

Use this to export JAVA_HOME variable:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home

Long Version

This answer is wrt to BigSur v11.0.1 Beta. What I explored is if you have configured your .bash_profile JAVA_HOME export something like this

export JAVA_HOME=$(/usr/libexec/java_home)

Then it case it was trying to importing this, for some reason

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

rather than

/Library/Java/JavaVirtualMachines/**/Contents/Home

For the quick fix, I configured my JAVA_HOME like this

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home

If you are switching between multiple JVMs at once then you may find this .bashrc/.zshrc configuration handy

    export JAVA_8_HOME="jdk1.8.0_231.jdk"
    export JAVA_11_HOME="openjdk-11.0.2.jdk"
    export JAVA_13_HOME="jdk-13.0.1.jdk"
    
        
    alias java8='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_8_HOME/Contents/Home"'
    alias java11='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_11_HOME/Contents/Home"'
    alias java13='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_13_HOME/Contents/Home"'
    
    # default to Java 8
    java8

Upvotes: 20

umunBeing
umunBeing

Reputation: 671

To fix this issue I deleted the openJDK VM and reinstalled it

  1. Delete the openJDK folder from

    /Library/Java/JavaVirtualMachines

  2. Reinstall openJDK from here

  3. Open applications and right-click spring suite > Show Package Contents

  4. Edit file Contents/info.plist. Add this

<string>-vm</string><string>/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home/bin/java</string>

This should be inside the array tag inside eclipse key

enter image description here

Upvotes: 6

martin
martin

Reputation: 2194

I solved this by using Homebrew

brew cask install eclipse-java

Upvotes: 3

Michael Peterson
Michael Peterson

Reputation: 10532

Edit the Info.plist to set the -vm value.

  1. Install the latest Eclipse version, I am using version 2020-06
  2. Right-click on Eclipse.app
  3. Show Package Contents
  4. Open Info.plist with a text editor
  5. Add -vm/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/java under the under the key Eclipse. Note - edit the path to Java depending on what version you have. You can see the list by running /usr/libexec/java_home -V

enter image description here

Upvotes: 12

Related Questions