• Home
  • RSS
  • Contacts


IT consulting

we can help you create or build-up your project  though independent consulting and analysis, give you the opportunity to estimate your risks, design and implement your solution

more

Development

we implement bold ideas - developing fine web-solutions and complex databases; unordinary approach to realization of unique systems based on Java/Python, databases on PostgreSQL/MySQL using Linux/Unix platforms

more

hide

Products

GWT-PF product

GWT-PF - framework for developing rich user web-interfaces for database solutions

Pleso netNews product

Pleso netNews - solution for online media

Projects

Development on GWT with Eclipse in team

Posted by Andrij Skaljuk - 20.10.2007, 15:38
Tags:        team GWT Eclipse

Introduction

When a developers team is starting a project, they are choosing tools, IDE, source control system and the way they are going to stay in touch. We chose Eclipse IDE for development and Subversion (SVN) for code sharing. This is popular combination because it is useful for Java development and specially for GWT.

Successful project code compilation requests correct build path for GWT libraries, but different developers' project sources and GWT libraries are located in different places on file system. We suggest solution for common project workspace for all developers based on Eclipse environment variables. Testing was done on Eclipse 3.2 and 3.3.

Solution

The idea is to create Eclipse environment variable GWT_HOME, which is referenced on GWT library placement locally on each developer's system. In this case each team member will have working project environment. Settings example for project in Windows and remark for Linux is described below.

Setting GWT_HOME variable

Next steps are done for each developer once:

  1. Go to Classpath Variables menu in Eclipse: Menu - Window - Preferences - Java - Build Path - Classpath Variables;
  2. Create GWT_HOME variable. Press New button:
    • specify name. Name: GWT_HOME;
    • specify path to GWT library root e.g. "c:\gwt".

Creating new GWT project, initial commit:

  1. Use GWT utilities to create project:
    • projectCreator -eclipse NewApplication -out d:\test\
    • applicationCreator -eclipse NewApplication -out d:\test\ net.pleso.client.NewApplication
  2. Import created project into Eclipse workspace. Menu - File - Import - Existing Projects into Workspace. Specify project placement e.g. "d:\test\"
  3. Configure gwt-user library using GWT_HOME:
    • right click on project root - Properties - Java Build Path - Libraries
    • delete gwt-user.jar
    • Add Variable - GWT_HOME - Extend - gwt_user.jar - Ok
  4. Configure gwt-dev-windows.jar library using GWT_HOME:
    • Run - Java Application - NewApplication (your name) - Classpath
    • gwt-dev-windows.jar - Remove
    • Advanced - Add Classpath Variables - GWT_HOME - Extend - gwt-dev-windows.jar - Ok
  5. Commit project to SVN repository.
  6. Not necessary but you can add to svn:ignore:
    • bin
    • tomcat
    • .gwt-cache

How to checkout project from SVN

  • checkout project. Menu - File - Import - Checkout from SVN - trunk;
  • project name must be the same as created. Eclipse automatically fills name in Project Name field. In this example it will be: NewApplication;
  • after project checkout from SVN: Run - java application - NewApplication - Run - Host-mode window GWT launching;
  • debug executes in the same way.

Remark for Linux users

  • replace library files (such as gwt-dev-windows.jar) on Linux versions;
  • create customized Run/Debug Config for Linux. Go to: Run - java application - select NewApplication - right click Dublicate - name NewApplicatiion-Linux;
  • make the same changes as described in "Creating new GWT project";
  • you should get two Run/Debug configurations;
  • commit project to SVN. As result you have different configurations for Windows and Linux.

Alternative solutions

We know following alternative solution for team development which requires additional Eclipse plugin installation: Googlipse - An Eclipse plugin for Google Web Toolkit (GWT).