# SDK: The JDK 1.7.0\_79 is not compatible with OpenMRS Platform 2.3.

**URL:** <https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337>\
**Category:** Ask OpenMRS\
**Tags:** java, sdk\
**Created:** [July 18, 2016, 7:55pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337 "2016-07-18T19:55:04Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![mksd](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mksd/32/11729_2.png) [@mksd](https://talk.openmrs.org/u/mksd)\
**Post date:** [July 18, 2016, 7:55pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/1 "2016-07-18T19:55:04Z")

</div>

Hi all, @raff,

**Application Name:** SDK **Version Number:** 3.0.0 **Question:** Is it normal that I am getting this all of a sudden when starting Jetty?

```auto
The JDK 1.7.0_79 is not compatible with OpenMRS Platform 2.3. Please use JDK 1.8 to run this server.

```

Upgrading to Java 8 solves the above strictly speaking, but it still breaks my dev environment since I cannot remote debug anymore in Eclipse. I thought perhaps my sources where out of sync with the JARs previously built with Java 7 so I rebuilt the Platform and my module in development with Java 8, to no avail. I keep looking but if anyone could save those frustrating hours of plumbing that I have not asked for, I would be really grateful!

* * *

_P.S._ Moreover I believe that ‘OpenMRS Platform 2.3.’ is not a valid reference. I am in fact running the Ref App distro 2.3 on Platform 1.11.4. All this was working perfectly fine with Java 7 until this morning.

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [July 18, 2016, 10:26pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/3 "2016-07-18T22:26:20Z")

</div>

Platform 1.x should not require Java 8.

Did you change anything else recently?

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [July 18, 2016, 11:59pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/4 "2016-07-18T23:59:17Z")

</div>

Okay, I just tried using the SDK for the first time in a while and I get the error message:

> The JDK 1.8.0\_74 is not compatible with OpenMRS Platform 1.11.5

This combination used to work before. @raff, did you all break something in SDK 3.0?

Per @mksd’s error, you should be allowed to use JDK 7 with a Refapp 2.x version that runs on top of Platform 1.x.

Per my error, you should not be prevented from trying to run Platform 1.x with Java 8, even though it doesn’t require it.

---

<div class="post-metadata">

**Author:** ![gutkowski](https://talk.openmrs.org/letter_avatar/gutkowski/32/5_5575768a8748004e209b776fc1b2916d.png) [@gutkowski](https://talk.openmrs.org/u/gutkowski)\
**Post date:** [July 19, 2016, 6:16am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/5 "2016-07-19T06:16:12Z")

</div>

Hi @mksd

During development of SDK, format of server properties file had been changed. SDK 2.x has bug, it saves version of distribution as `openmrs.platform.version`. Now, if you set up your server with SDK 2.x and try to run it with SDK 3.0, it reads version of reference application as version of platform, and shows error. Unfortunately your use case had been overlooked. SDK 3.1 is going to be released very soon and certainly it will fix some problems with compability, we’re sorry for inconvenience.

It is recommended to setup new server with SDK 3.0, but if you don’t want to do it, go to `openmrs/{serverId}/` in your home directory, and edit `openmrs-server.properties` file (if there isn’t any, open `installation.properties`). Set `openmrs.version` to `2.3` and `openmrs.platform.version` to `1.11.4` (basically switch it). After you save changes and run server again, all should work fine.

@darius this message you got is intentional. Again, it is recommended to setup new server with SDK 3.0. During setup, user can choose JDK he/she wants to use when running particular instance of OpenMRS. I think @raff can explain purpose of this design much better than me.

---

<div class="post-metadata">

**Author:** ![raff](https://talk.openmrs.org/user_avatar/talk.openmrs.org/raff/32/11894_2.png) [@raff](https://talk.openmrs.org/u/raff)\
**Post date:** [July 19, 2016, 9:04am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/6 "2016-07-19T09:04:29Z")

</div>

Thanks @gutkowski for stepping in!

@mksd I’m sorry for the inconvenience. To address your other issue with debugging please see updated instructions at [http://om.rs/sdk](http://om.rs/sdk). In short you either need to connect to your server using a remote debugger or run the server with -Dfork=false.

@darius, I’ve experienced a number of issues when running RefApp with Java 8, thus wanted to prevent users from going that path. From previous conversations I understood we don’t plan to fix 1.x platform releases to be runnable on Java 8, thus I didn’t even report the issues.

---

<div class="post-metadata">

**Author:** ![mksd](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mksd/32/11729_2.png) [@mksd](https://talk.openmrs.org/u/mksd)\
**Post date:** [July 19, 2016, 9:23am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/7 "2016-07-19T09:23:48Z")

</div>

Hi guys, thanks all for jumping on the thread because this _was_ a blocker for me!

> [@gutkowski](#):
>
> … edit openmrs-server.properties file (if there isn’t any, open installation.properties). Set openmrs.version to 2.3 and openmrs.platform.version to 1.11.4 (basically switch it).

> [@raff](#):
>
> run the server with -Dfork=false

Those two tweaks did the job!

But how did that happen that my SDK was upgraded to 3.0.0, I don’t remember ever doing anything about it?

---

<div class="post-metadata">

**Author:** ![raff](https://talk.openmrs.org/user_avatar/talk.openmrs.org/raff/32/11894_2.png) [@raff](https://talk.openmrs.org/u/raff)\
**Post date:** [July 19, 2016, 9:45am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/8 "2016-07-19T09:45:08Z")

</div>

It happens automatically, whenever we release.

You can continue to use older versions by explicitly stating version e.g. mvn org.openmrs.maven.plugins:openmrs-sdk-maven-plugin:2.1.2:help

mvn openmrs-sdk:help will be always the latest released version.

---

<div class="post-metadata">

**Author:** ![raff](https://talk.openmrs.org/user_avatar/talk.openmrs.org/raff/32/11894_2.png) [@raff](https://talk.openmrs.org/u/raff)\
**Post date:** [July 19, 2016, 10:30am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/9 "2016-07-19T10:30:13Z")

</div>

Just wanted to update you that in SDK 3.1 we will make it just a recommendation to use JDK 7 with platform 1.x instead of a strict requirement so you will be able to use JDK 8 for platform 1.x.

---

<div class="post-metadata">

**Author:** ![mksd](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mksd/32/11729_2.png) [@mksd](https://talk.openmrs.org/u/mksd)\
**Post date:** [July 19, 2016, 10:40am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/10 "2016-07-19T10:40:08Z")

</div>

> [@raff](#):
>
> You can continue to use older versions by explicitly stating version e.g. mvn org.openmrs.maven.plugins:openmrs-sdk-maven-plugin:2.1.2:help

That’s very helpful, thanks!

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [July 19, 2016, 7:03pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/11 "2016-07-19T19:03:23Z")

</div>

> [@raff](#):
>
> Just wanted to update you that in SDK 3.1 we will make it just a recommendation to use JDK 7 with platform 1.x instead of a strict requirement so you will be able to use JDK 8 for platform 1.x.

Thanks, I’ll appreciate this. (So you know, my use case is that I don’t necessarily care about having the entire reference application run correctly, but I may just want to see how a particular module behaves, and I don’t want to have to switch between Java versions.)

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [July 19, 2016, 7:18pm UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/12 "2016-07-19T19:18:02Z")

</div>

PS- Peeking at a server instance (that I had created before with a 2.x SDK version) I see in the openmrs-server.properties file:

> user\_modules=org.openmrs.module/reporting/0.9.10-SNAPSHOT,org.openmrs.module/webservices.rest/2.14,org.openmrs.module/reportingrest/1.6,org.openmrs.module/reporting/0.10.1-SNAPSHOT

I don’t know if the duplication of reporting is a bug or a feature.

Broadly I don’t know how the different properties files are used, and I don’t know what the different lines in openmrs-server.properties mean. It’s probably worth documenting this on the wiki.

> [@raff](#):
>
> you either need to connect to your server using a remote debugger or run the server with -Dfork=false

For reference, I had a run configuration in IntelliJ that _used to work_ for remote debuggin in SDK 2.x, with `-Xmx2048m -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000`. Now, however, when I run this it looks like:

> /Library/Java/JavaVirtualMachines/jdk1.7.0\_75.jdk/Contents/Home/bin/java -Xmx2048m -Xnoagent -Xrunjdwp:transport=dt\_socket,server=y,suspend=y,address=8000 “-Dmaven.home=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3” “-Dclassworlds.conf=/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/bin/m2.conf” -Didea.launcher.port=7532 “-Didea.launcher.bin.path=/Applications/IntelliJ IDEA.app/Contents/bin” -Dfile.encoding=UTF-8 -classpath “/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds-2.4.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea\_rt.jar” com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.1.2 openmrs-sdk:run -DserverId=reporting Listening for transport dt\_socket at address: 8000

and it hangs there. To make this work in SDK 3.0 I had to set up a run configuration with:

Command line: `openmrs-sdk:run -DserverId=reporting -Dfork=false` VM options: `-Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m`

---

<div class="post-metadata">

**Author:** ![adamg](https://talk.openmrs.org/letter_avatar/adamg/32/5_5575768a8748004e209b776fc1b2916d.png) [@adamg](https://talk.openmrs.org/u/adamg)\
**Post date:** [July 20, 2016, 9:03am UTC](https://talk.openmrs.org/t/sdk-the-jdk-1-7-0-79-is-not-compatible-with-openmrs-platform-2-3/7337/13 "2016-07-20T09:03:19Z")

</div>

> [@darius](#):
>
> I don’t know if the duplication of reporting is a bug or a feature.

Thanks for this @darius. It’s a bug and will be fixed in SDK 3.1 release
