Eclipse Setup

This page describes how to setup an Eclipse development environment to be used with the Orca project.

1. Download and install Eclipse from http://www.eclipse.org/downloads/. You can choose either Eclipse IDE for Java EE Developers or Eclipse IDE for Java Developers.

2. In addition to the standard Eclipse installation you will need the following Eclipse plug-ins:

  • Subclipse (http://subclipse.tigris.org/). This plug-in integrates subversion source control into eclipse. Make sure you choose a version compatible with your subversion command line client. Version 1.4.* uses subversion 1.5.* file formats and is incompatible with subversion 1.4.* file formats. Version 1.0.* work only with subversion 1.4.*. Be careful, which version you end up installing, since version incompatibility can cause a lot of headaches later. Note: in a July 2010 install for a mac I used subclipse 1.6.x (http://subclipse.tigris.org/update_1.6.x/). For this 64-bit Eclipse it was necessary to install the subversion from http://www.collab.net, as recommended by tigris.org. (It made me register to download, but it just worked.) Further note: in August 2011 install for OSX Lion, version mismatch is no longer a problem but it is STILL necessary to jump through hoops because Apple does not yet include 64-bit binaries for the JavaHL library used by subclipse. The old fix of installing subversion from collab.net no longer works, since they don't provide packages for Lion yet. There are various workarounds proposed on message lists, but they don't work for me. As of now Subclipse is BROKEN ON LION. This may change: check on collab.net for a Lion dmg.

3. Before you can start editing an ORCA project, you must import it into your Eclipse workspace. You can checkout the project directly with Eclipse, with the Subversion command line client or with the command line build scripts. The instructions here assume that you have checked out the required projects using the Subversion command line client. To import an existing ORCA project into Eclipse do something like the following, depending on Eclipse version:

  • Click on File\Import...
  • Expand the Maven item in the list of import sources. Select Existing Maven Projects. Click Next.
  • Use the Browse button to navigate to the directory containing the POM file (pom.xml) of the project you want to import (or to the ORCA top-level source directory). Click OK. The dialog window should show the project(s) you have selected for import.
  • Click on Advanced and make sure that Resolve Workspace projects is selected, and also Separate projects for modules is selected if present. Add the following to the Name template field, without the quotes: '[groupId].[artifactId]'.
  • Click on Finish

The project should start importing and Eclipse will rebuild the workspace as needed.

When installing Eclipse on a CentOS 5.2 machine note the following:

  • Eclipse 3.2 is the only version currently supported by CentOS repositories.
  • Follow the Maven (m2eclipse) installation instructions for Eclipse 3.2 closely.
  • Use the http://m2eclipse.sonatype.org/update-dev/ for maven plugin instead of the release build

When installing e2eclipse in Ubuntu 8.10:

  • Following above notes on CentOS
  • Use Sun Java JDK 1.5, instead of the default gcj
    • sudo gedit /etc/eclipse/java_home
    • move '/usr/lib/j2sdk1.5-sun' to be the first line
  • Switch to sun 1.5 system-wide
    • download and install 1.5 (from the update manager)
    • see it in /usr/lib/jvm
    • sudo update-alternatives --config java (javac, javadoc)
    • Or change $JAVA_HOME (JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun")
    • and $PATH (PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH)

MAVEN Set Up

Install Maven

  • export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
  • export M2=$M2_HOME/bin
  • export PATH=$M2:$PATH

You can add RENCI proxy to maven setup ($HOME/.m2/settings.xml):

    <mirror>
      <mirrorOf>*,!geni-imf-libs,!geni-orca-libs,!jwhoisserver</mirrorOf>
      <name>remote-repos</name>
        <url>https://ci-dev.renci.org/nexus/content/groups/public/</url>
      <id>remote-repos</id>
    </mirror>