Below is a listing of software applications that you will need to install in order to develop in the OpenMRS codebase. The installation process may vary somewhat for Windows, Linux, or Mac OS X platforms. Still, OpenMRS depends mostly on Java which runs the same across those systems. This list will try to describe the general pieces that you should install to start work on any development computer.



Java is the language in which OpenMRS is written. The latest version of OpenMRS requires at least Java version 1.6. If you plan to edit the source, you will need the JDK; if you plan just to run OpenMRS, you will only need the JRE.


MySQL 5.x is the database software in which OpenMRS stores its records. You should know your MySQL root password, or have a database ready with username and password to install OpenMRS into.

Eclipse (Helios 3.6.0)

Eclipse IDE for Java EE Developers is the recommended Java development environment. You will need the latest stable release but OpenMRS should still function on older versions that can use Maven integration.

Maven M2e plugin + M2e Extras

Apache Maven is an open source build system similar to make or ant but it also manages dependencies. OpenMRS transitioned from the ant build system at the 2010 1.8 Hackathon on 19 August 2010. There are two different Eclipse integration plugins for Maven but OpenMRS developers tentatively recommend M2E. Be sure to install both the base packages and the SCM and Subclipse SCM extras packages from the extras update site.

Optional: Tomcat

Tomcat is a J2EE server on which OpenMRS can be deployed. You will want the core that matches your system specs the closest: probably 32-bit zip or 64-bit zip or bz2 on Linux. If you choose not to install Tomcat, the development-oriented J2EE server, Jetty already installs with Maven and integrates with the Eclipse Run and Debug workflow.

Deprecated: OpenMRS "Development Studio" extensions

In the past, there was a special branded distribution of Eclipse that integrated with Ant and optimized module development. This is no longer developed and is deprecated. (archived wiki link)

Check out the Trunk with Maven

Finally, and most importantly, you need to get the code from the Subversion/SVN revision control system by using the Maven tools you have installed. There are detailed instructions for this process here 

Old Version