Search code examples
vmwareosx-elcapitanspring-tool-suite

Spring Tool Suite crashes on virtual OS X


I'm trying to get Spring Tool Suite (STS) running on a virtual OS X machine (VMWare 8.0.2) on a iMac host. The virtual OS X machine is the latest OS X: 10.11.2 and is a clean install with just NetBeans 8.1 (with JDK8 Java 1.8). NetBeans works flawlessly.

STS gets the startup splash, it loads the framework and I get to see the interface for approx. 1 second, then I get the "Spring Tool Suite quit unexpectedly"

I've tried STS 3.7.2 and 3.7.1, both have exactly the same problem. I've tried the copy that works native on my host iMac, that too gave the same problem.

Anyone familiar with this problem? Google gives me no results. Would it be impossible to run STS on a Virtual Machine?

I could post the dump from OS X but that would be a lot of text, please let me know if that would be helpful?

Thanks in advance!

STS Dumpfile (Dropbox)


Solution

  • There are at least two ways you could try to work around this problem.

    1) run STS with a JDK7 at least once. JavaFx is not supported with JDK7 and STS will automatically fallback on using the old dashboard. This should allow you to launch STS succesfully. You can then change the preference here: "Preferences >> Spring >> Dashboard" to always use the old dashboard. Then go back to running with JDK8 if you wish.

    2) Alternatively you can 'hack' the metadata in the workspace to set the preference to use the old dashboard (use this method if the above one seems too onerous, maybe you don't have a old JDK handy)

    The metadata file you want to edit is this one (from the root of workspace folder):

    .metadata/
       .plugins/
          org.eclipse.core.runtime/
            .settings/
               org.springsource.ide.eclipse.dashboard.ui.prefs
    

    If the file doesn't exist, create it and add these two line:

    eclipse.preferences.version=1
    org.springsource.ide.eclipse.dashboard.uidashboard.use.old=true
    

    If the file exists you only need to add (or change) this line:

    org.springsource.ide.eclipse.dashboard.uidashboard.use.old=true