Reputation: 441
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
The java version I am running:
Upvotes: 43
Views: 62844
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
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
Reputation: 1
Setting-security&privacy->Full Disk Access, add eclipse or Spring Tool Suite app.
Upvotes: 0
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
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.
Upvotes: 0
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
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
Reputation: 11
Upvotes: 1
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
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
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
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
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
Reputation: 57
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
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
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
Reputation: 723
Use this to export JAVA_HOME variable:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
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
Reputation: 671
To fix this issue I deleted the openJDK VM and reinstalled it
Delete the openJDK folder from
/Library/Java/JavaVirtualMachines
Reinstall openJDK from here
Open applications and right-click spring suite > Show Package Contents
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
Upvotes: 6
Reputation: 10532
Edit the Info.plist to set the -vm value.
Upvotes: 12