Thursday, November 20, 2008

Set up Spring and Eclipse

I want to do Spring based application development. 
This is the basic set up:

Eclipse
Eclipse is the free and opensource integrated development environment of choice right now.
I downloaded the latest (3.4.1 Ganymede) J2EE install from www.eclipse.org. I used to use easyeclipse, but those installs have not been updated for a while now.

Plug ins and add ons:

This one has to be downloaded and manually installed, by dropping the plug into the dropins folder in the Eclipse app folder. Restart Eclipse and setup under Workbench->Preferences, select Tomcat and set the Tomcat version and home. (Must install Tomcat on your computer separately.)
In addition to the the instructions I did find that I had to run 'eclipse -clean' on my laptop to get Eclipse 3.4 working with Sysdeo Tomcat.
Test just by pressing the 'start tomcat' button- the console will show you the run log and tomcat will run (the default url and port is /localhost:8080).

These plug-ins are installed with

In Help-> Software Updates... > Available Software
Press the "Add Site..." button and add the urls below to the updater.

SpringIDE plug in (http://springide.org/)
add this url to the Eclipse updater: http://dist.springframework.org/release/IDE
Test: open a new project and see if the "Spring" project type appears.

The Eclipse Webtools are recommended for XML checking. Add the URL to the Eclipse Updater:
http://download.eclipse.org/webtools/updates/

Eclipse SVN
plug in (http://subclipse.tigris.org/)
add this url to the Eclipse updater: http://subclipse.tigris.org/update_1.4.x
Test: in the New box - first in the second row of the menu, a "CheckoutProjects from SVN" menu will be available. You can enter your svn url there.

Add your SVN repository:
In the SVN Repository there is a button to add the URL for your SVN repository.

Using Eclipse SVN Plug In
Sharing a new project: Right click on a new project, Select Team-> Share Project
After you add to an existing SVN repository, the Team menu is expanded to synchronize your project, get updates and the like.