After several months of using mostly Visual Studio, I have some time now to shift gears back into Java. The timing is good–the annual release of Eclipse and all its subprojects happened while I was out of town on vacation last month.
I’m working on a new computer, running Vista 64bit. I reaped the rewards of Moore’s Law by obtaining a custom build box with a Quad processor and 4 gigs of ram and a fancy graphics card for about 130,000 JPY. Oh yeah, a terabyte of storage. Anyway, the Core 2 Quad CPU was so reasonable I couldn’t not get it.
I’ve been using Vista for about 8 months and am still getting used to it. I am far from a Windows expert. And the ins-and-outs of 64bit versions of software I am still getting used to.
I discovered I had 5 version of Java installed on Vista: 1.5 and 1.6 in 32 bit versions, a 64bit 1.5 JRE (installed by Web Start?), and the 64bit 1.5 and 1.6 SDKs. I figured I would clean out the 32 bit versions. In fact, I wound up uninstalling every single version of Java and re-installing just the latest 1.5 and 1.6 SDKs, as there were updates that I didn’t yet.
Then I started up Eclipse and I got this really annoying error:
JVM Terminated. Exit Code=-1.
My environment: 64bit Vista Ultimate, Java 1.6 x86_64, Eclipse Gandymede (JEE zip download).
Google returned a lot of problems around Exit codes but nothing that specifically addressed this issue. Turns out the exit code just means “you’re out of luck!” I tried to find a list of all exit codes but had no luck. A lot of the advice about the exit code problem seems specific to Eclipse 3.3 and messing with the eclipse.ini settings (I recall vaguely having to do this about 7 months ago). That didn’t work.
After banging my head against the wall (needlessly), I realized that the Eclipse Gandymede default download is a 32bit download.Â I had to find the Eclipse v3.4 64bit Windows download (which is a little tricky, because they do a good job of steering you to the Gandymede stuff–what you want is the Eclipse Platform download link), and then use the Gandymede update site to get all the subprojects downloaded correctly. Hurray for fiber to the home—it was not too painful to download all of it.
To summarize, I was having JVM Terminated because I was using a 32-bit binary of Eclipse on a 64bit Vista (32 bit Eclipse is in the default Gandymede download). The solution was to download a 64 bit version of Eclipse. Go to the Eclipse Platform Download link, then click on the “3.4″ Build link to get to all the various binaries for all the platforms, including Win 64.
(I also wound up reinstalling a 32bit version of Java. Turns out, that is the Java used by Firefox and IE. Need that for viewing applets.)
Edited Aug 8, 2008: to make it clearer that the solution was getting a 64bit-compatible version of the Eclipse binary. Reinstalling 32bit Java was justa convenience to get my applets working in Firefox.