Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Documentation

Page tree
Skip to end of metadata
Go to start of metadata

These instructions describe how to load OpenMRS into Eclipse version 3.4.2 using the Maven Eclipse Plugin. Eclipse and Maven are assumed to be installed previously.

Setup Eclipse Workspace for Maven

Run the follow command from the command line at the root of the checked out project:
mvn eclipse:configure-workspace -Declipse.workspace=<path-to-eclipse-workspace>

Start Eclipse using the Configured Workspace

On starting Eclipse, select the <path-to-eclipse-workspace> used in the previous step.
If Eclipse is already started, switch the workspace by File -> Switch Workspace -> Other... and select the workspace path.

  • Verify the workspace is configured properly by going to Windows -> Preferences.
  • Java -> Build Path -> Classpath Variables should contain a variable named M2_REPO.
  • Java -> Code Style -> Formatter should have the Active profile of 'OpenMRS Formatter'

Setup Maven commands in Eclipse

Maven commands can be setup in Eclipse as External Tools by Run -> External Tools -> External Tools Configurations... -> Program -> New.

The Maven executable path should be entered as the Location either as the full path or as a variable.
To create the variable, select Variables... -> Edit Variables... -> New...
Enter a name with the value being the path to the Maven executable bin/mvn

Select the newly created variable name for the Location, and enter the path to the checked out OpenMRS project as the Working Directory.
Enter the Arguments for the eclipse command:
eclipse:eclipse --batch-mode -DdownloadSources=true

Refresh the workspace after running the commands by selecting the Refresh tab and 'Refresh resources upon completion'

Apply the External Tools changes and Run. Output from the command with appear in the Console.
After running, the Maven tools are available in the External Tools dropdown.

Follow the same steps for adding other Maven commands.
For the build command, enter these the Arguments:
clean install --batch-mode

Generate Eclipse Projects

Generate the Eclipse .project, .classpath, and .settings files by running the eclipse command using the External Tools in Eclipse or through the command line.

If using External Tools, follow the steps above if not already complete to create the Maven Eclipse command configuration and Run.

If using the command line run:
mvn eclipse:eclipse -DdownloadSources=true
If running from the command line, manually update the projects in Eclipse by selecting them all, right-clicking, and selecting Refresh.

Each time the dependencies are changed in the pom.xml, re-run this command to update the libraries in Eclipse.

Import Projects in Eclipse

Import the generated Eclipse projects by File -> Import... -> General -> Existing Projects.

Browse to the location of the checked out OpenMRS project and select the three OpenMRS projects (api, web, webapp)

Update Eclipse View

A suggestion is to use the Java perspective with the Referenced Libraries node.
Change the perspective by Window -> Open Perspective -> Java

Set the Referenced Libraries node by selecting Show 'Referenced Libraries' Node

2 Comments

  1. Unknown User (aka007)

    When I try to run the application in eclipse in the step "setup maven commands in eclipse"

    I get these errors:

    /home/aka/mvn.bat: 1: /home/aka/mvn.bat: @REM: Permission denied

    /home/aka/mvn.bat: 2: /home/aka/mvn.bat: Syntax error: "(" unexpected

  2. Unknown User (thomasvandoren)

    When running against master on 2015-06-17, I had to force maven to use maven-eclipse-plugin version 2.6 to avoid a filtering error when executing the eclipse:eclipse goal. This uses version 2.6 instead of 2.8 without having to change the pom.xml:

    org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse --batch-mode -DdownloadSources=true