Setting Up OpenMRS in Eclipse Kepler

Nach meinen OpenMRS Codejam bei ThoughtWorks möchte ich eine lokale Entwicklungsumgebung bei mir aufsetzen. Bei den Mitarbeitern von ThoughtWorks ist IntelliJ die IDE der Wahl. Ich habe bisher hauptsächlich mit Eclipse gearbeitet und möchte das weiterhin tun. Da die Projekt-Organisation via Maven gesteuert wird, sehe ich keine größeren Hindernisse, die einen Versuch ausschlössen. Außerdem gibt es eine offizielle Anleitung für die Einrichtung von OpenMRS unter Eclipse.

Die Softwarevoraussetzungen erfülle ich. Ich habe Ubuntu mit einem JDK 6. Git und MySQL habe ich auch schon installiert. Ich benutze Eclipse Kepler in der J2EE Variante. Hinzugefügt habe ich Plugins eGit, m2e, sowie die m2e Connectoren für Git und wtp. Bevor ich zu Eclipse komme, brauche ich erst mal den Quellcode auf dem OpenMRS-Git-Repository auf GitHub. Einen Klon bekomme ich per Git auf dem Terminal über:

git clone https://github.com/openmrs/openmrs-core.git

Anschließend richte ich mir einen neuen Workspace namens openmrs ein. Dazu lege ich einfach ein neues Verzeichnis an, das ich beim nächsten Start von Eclipse als Workspace auswähle.

mkdir openmrsmkdir openmrs

Nach dem Start von Eclipse importiere ich die Projekte aus meinem Klon des Git-Repositorys. Dazu wähle ich im Menü:

> File > Import > Maven > Existing Maven Projects into Workspace

Als Quellverzeichnis für den Import wähle ich das Verzeichnis in dem der oben erwähnten Klon liegt. Bei mir ist das:

~/git/openmrs-core

Ich importiere alle Projekte, die mir der Assistent nach Auswahl der Quelle anbietet.

Import Existing Maven Projects openMRS

Import Existing Maven Projects openMRS

Nach Klick auf Finish beginnt der Import und eine Menge Mavenkram passiert im Hintergrund. Gleichzeitig werde ich aufgefordert ein neues Plugin zu installieren:

"m2e connector for build-helper-maven-plugin"

Ich folge den Anweisungen und starte Eclipse wie empfohlen neu, nachdem das Plugin installiert wurde und der Import der Projekte abgeschlossen ist. Wie erhofft konnten alle Projekte angelegt werden:

  • openmrs
  • openmrs-api
  • openmrs-release-test
  • openmrs-test
  • openmrs-tools
  • openmrs-web
  • openmrs-webapp

Allerdings werden noch einige Probleme und mehrere Tausend Warnings angezeigt. Die Fehler kann ich beheben indem ich die tools.jar in die BuildPath Einträge des Projekts openmrs-tools hinzufüge. Dort liegen die benötigten Klassen der Packages com.sun.tools… und com.sun.javadoc… für das ShouldTaglet.

import com.sun.tools.doclets.Taglet;
import com.sun.javadoc.*;
import java.util.Map;

/**
 * Taglet for @should annotations.
 */
public class ShouldTaglet implements Taglet {

Bei den Warnings handelt es sich um Unschönheiten im Quellcode. Sie sind wohl der verteilten Projektstruktur und den wenig strengen Code-Guidelines geschuldet. Ich möchte das Projekt erstmal zum Fliegen kriegen und werde mich um die Probleme später kümmern.

Ich konfiguriere einen Maven-Build, indem ich mit der rechten Maustaste auf das Top-Projekt openmrs und dort auf:

Run As > 2 Maven Build ...

klicke. Als goals tippe ich „clean install“ ein und lege los. Es dauert zwar ein paar Minuten, dann läuft der Build aber erfolgreich durch. Jetzt wird’s ernst. Ich starte einen zweiten Build, diesmal auf dem Projekt webapp mit dem goal jetty:run .

Die Webapp wird gestartet. Ich erreiche sie unter:

http://localhost:8080/openmrs/index.htm

und werde zum Installations-Assistenten weitergeleitet. Ich entscheide mich für die simple Installation. Hier muss ich nur einen MySQL Benutzer angeben, der die Datenbank und die Tabellen anlegt. Auch das mache ich natürlich gerne, der Rest läuft von selbst. Nach der Installation lande ich auf dem Login Screen und nach der Eingabe von admin / Admin123 bin ich am Ziel:

openMRSWelcomeScreen

         

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.