Practical
Embedded Java

Eclipse Tips


A practical engineering approach to using embedded Java in real-world applications.


...



 


Upgrading your Eclipse to 3.4 "Ganymede" (2009 Apr 26)

The last time we upgraded to the very newest major Eclipse version (3.0 from 2.2 I think it was), we found that some of our essential plugins didn't work. Actually, here's evidence that even 3.3 and 3.2 are not plug-in compatible. So we've been adopting the policy of only upgrading after some time. At this time (2009 April) the very newest Eclipse release is Galileo, but tools we are starting to use such as Atmel AVR32 Studio are based on Eclipse 3.4 (Ganymede). And a new plugin we want to try won't work with Eclipse 3.3. So, here we go - we have to migrate to 3.4. I wish there were some way to easily migrate between Eclipse versions. Maybe there is by now -- email the SystronixJava user group if you know of a way.

Before diving in I'll try more research on this topic. Eclipse claims that 3.3 plugins should work with 3.4. But how to to migrate to 3.4 from 3.3 without essentially reinstalling all plugins anew in 3.4 and manually copying over configurations? It's not advisable to install a new version on top of an old (at least the last time I tried this it was a mess). Here's an Eclipse plug-in migration guide, but that's not what we want.

  1. Zip up the current configuration, which by default is in C:\Documents and Settings\{username}\workspace (this is not the location that we use). This is a precaution in case you need to go back to the currently installed version of Eclipse. Note that this default workspace is where your Eclipse configurations are stored (unless you use the -data parameter to tell Eclipse where else to store the workspace data) regardless of where you actually store your Eclipse projects (in our case, in a virtual P: drive).
  2. Rename the current Eclipse folder from "eclipse" to something specific such as "eclipse_3.2.1"
  3. Get the Eclipse SDK if you want the source and other options (150 MB) or just the JDT download (80 MB) for Java development
  4. Unzip the new Eclipse install into the default c:\eclipse folder.
  5. Start the new Eclipse, direct it to the old/current workspace. I've started using the -data parameter in the startup shortcut.
  6. With Ganymede we are trying Subversive instead of Subclipse.
  7. OK, but now I have no SVN repository browsing... Subversive has a "migrate projects and settings" option under Help->Subversive. But when I try that, I get an error eclipse.exe "The ordinal 3873 could not be located in the DLL LIBEAY32.dll". Yuck. This is why I dread upgrading!
  8. I need to install Subclipse before I can disconnect any Subclipse projects and change to Subversive... there is a new Subclipse 1.6 which might address some of my frustrations (like not being able to easily force an update, and messy merges).
  9. OK, Subclipse is installed and seems to work. It has a different menu and might obviate my interest in moving to something new.
  10. OK, now Subversion repository exploring works, although I had to recreate a SVN Repository View.

 

  1. But now I am still missing the C/C++ tools.
  2. OK, use Update Manager to look for new features in the Europa Discovery Site. There are a ton, including C/C++ tools. So install those. Restart Eclipse.
  3. Re-change the Window->Preferences->Ant Runtime Ant Home button to point to my "real" Ant installation under C:\JavaSoft\apache-ant-1.6.5 instead of the one installed with Eclipse. This preserves all my custom plugins too. One more good reason to do Ant this way - Eclipse upgrades don't break Ant or any of it's additions.
  4. Eclipse integration with 8-bit Atmel AVRs is still not complete - but Atmel is intending to move to an Eclipse-based solution. AVR32 already is based on Eclipse 3.4, but sadly it's not a plugin - so you need a whole separate Eclipse install just for AVR32 Studio.

 
Systronix® 939 Edison St, Salt Lake City, Utah, USA 84111
Tel +1-801-534-1017, Fax +1-801-534-1019
contact us     Time Zone: MDT (UTC-6)
 

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Systronix is independent of Sun Microsystems, Inc.
TStik, JStik, JCX, JStamp, JSimm, JDroid, and JRealTime are trademarks of Systronix, Inc.
1-Wire, iButton and TINI are trademarks of Dallas Semiconductor
Simmstick is a trademark of Dontronics
LEGO® is a trademark of Lego A/S, Denmark