How do I setup OpenMRS core to compile in eclipse?

Question: I’m trying to setup my own development environment so that I can setup others at a volunteer programming day I’ve organized for next Tuesday. There will be 15 developers involved. My hope is that they may develop an interest in HFOSS programming and one or two of them will continue contributing beyond that one day.

I’ve followed the instructions found in https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers and I’ve watched the video at http://notes.openmrs.org/OpenMRS-University-2012-12-19. While the code compiles on the command-line, it has numerous issues in eclipse in the projects release-test, tools, and web-apps. None of these issues seem to be documented in the developer guide.

For example: in release-test: Description Resource Path Location Type Project build error: Non-resolvable parent POM: Could not find artifact org.openmrs:openmrs:pom:1.12.0-hibernate4-SNAPSHOT and ‘parent.relativePath’ points at wrong local POM pom.xml /release-test line 13 Maven pom Loading Problem

In tools: Description Resource Path Location Type The import com.sun.javadoc cannot be resolved ShouldTaglet.java /tools/src/main/java/org/openmrs/tools/doclet line 13 Java Problem (and yes, I did add tools.jar as per the instructions in the video)

In webapp: many various problems in the jsps.

What am I doing wrong? Is the problem that I want to use eclipse at all? Should the step-by-step instructions simply not include the install eclipse step?

(The release-test problem above seems to be resolveable by replacing the parent version with the same value as is found in the other pom files. Not sure if the current value was chosen on purpose. I’ll submit a change. But that leaves the other problems unresolved.)

I’ve tried this with eclipse Luna, and eclipse Mars. I’ve tried it with Java 8 and Java 6.

Hi @mkz_recommind Welcome to the Community :). Firstly Make Sure you use Java 8 for the master(1.12.0) branch. you can use eclipse JUNO. Inorder that you want to run openmrs in eclipse make sure you download 1.maven integration with eclipse 2.Egit from the eclipse market place and then you import the openmrs as a maven project and then Run as Maven build with the command -U clean install. If you still face issues please reply back we shall try our best to solve that :slight_smile:

2 Likes

Hi Sandeep,

Thank you for the warm welcome. I had already given up on this, but since you were kind enough to answer, I put in another couple of hours trying to make this work. I hadn’t tried eclipse juno yet. We use Luna at our company, and the newest version is Mars, so those are the two versions I tried. The plugins were already installed when I made the attempts I described above.

For some reason that I wasn’t able to track down, I wasn’t able to install the maven plugin under juno though. Since I wasn’t thrilled anyways about the idea of working with an IDE which doesn’t support Java 8 features, I aborted that attempt.

Running the maven build from within eclipse as you described didn’t get me to my goal either. I got a failure with this description:

"[ERROR] Failed to execute goal com.mycila:license-maven-plugin:2.6:check (default) on project openmrs-tools: Resource license-header.txt not found in file system, classpath or URL: no protocol: license-header.txt -> [Help 1]."

Right now, my fallback is to tell my developers tomorrow to ignore the eclipse errors.

1 Like

@mkz_recommind I am not sure this will solve the bog but still try this - change the Java path inside eclipse to JDK directory from jre

1 Like

@mkz_recommind did you get the error when building openmrs core or the web services module? If it is core, that file should be there, can you check and see if it exists?

1 Like

I started up this morning, and called Maven -> Update. And the problem in tools magically disappeared. I don’t know why. The jsps in webapp still have a lot of errors though. We are able to work productively in any case.

(I already had the JDK and not the JRE…)

Thank you all. I know this isn’t a fun way to resolve a problem, but I’m going to close this question as answered.

Greetings from Rheinbach, Myrle