# java.lang.NoClassDefFoundError: org/openmrs/Allergen on using webservices.rest-2.14 with openmrs 1.x

**URL:** <https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361>\
**Category:** Development\
**Tags:** restws\
**Created:** [May 20, 2016, 10:17am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361 "2016-05-20T10:17:44Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![preethi.s](https://talk.openmrs.org/user_avatar/talk.openmrs.org/preethi.s/32/1090_2.png) [@preethi.s](https://talk.openmrs.org/u/preethi.s)\
**Post date:** [May 20, 2016, 10:17am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/1 "2016-05-20T10:17:44Z")

</div>

We are trying to upgrade webservices.rest from 2.12 to 2.14 in Bahmni. The openmrs version that we use is 1.12.x. After upgrade, our tests started to fail saying that it could not find this class `org.openmrs.Allergen` which was introduced in openmrs 2.x. Also we found the following files - Allergen.java and AllergyReaction.java which were added only for test package and found this comment as well - [https://github.com/openmrs/openmrs-module-webservices.rest/blob/2.14/omod/src/test/java/org/openmrs/Allergen.java#L3](https://github.com/openmrs/openmrs-module-webservices.rest/blob/2.14/omod/src/test/java/org/openmrs/Allergen.java#L3)

Is webservices-rest-2.14 compatible with openmrs 1.x?

---

<div class="post-metadata">

**Author:** ![pascal](https://talk.openmrs.org/letter_avatar/pascal/32/6_22734026db12803ebb3e059622ac3534.png) [@pascal](https://talk.openmrs.org/u/pascal)\
**Post date:** [May 20, 2016, 10:20am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/2 "2016-05-20T10:20:32Z")

</div>

I think `webservices-rest-2.14` is only compatible with released versions of OpenMRS, the lastest of which is `1.11.6`.

---

<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:** [May 20, 2016, 11:04am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/3 "2016-05-20T11:04:29Z")

</div>

If you put this omod version in the running Bahmni application, do things work? (I.e. if the failure only in tests, in which case it might be due to a change in the required maven dependencies or something.)

Generally, web services releases are supposed to work against any modern version of the platform, so if it doesn’t run against 1.12.x that’s a regression.

-Darius (by phone)

---

<div class="post-metadata">

**Author:** ![pascal](https://talk.openmrs.org/letter_avatar/pascal/32/6_22734026db12803ebb3e059622ac3534.png) [@pascal](https://talk.openmrs.org/u/pascal)\
**Post date:** [May 20, 2016, 11:14am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/4 "2016-05-20T11:14:04Z")

</div>

I know Daniel has been fixing a few things up recently to work with bleeding edge version of core. Do you know what the deal is with the Allergen class @dkayiwa?

---

<div class="post-metadata">

**Author:** ![preethi.s](https://talk.openmrs.org/user_avatar/talk.openmrs.org/preethi.s/32/1090_2.png) [@preethi.s](https://talk.openmrs.org/u/preethi.s)\
**Post date:** [May 20, 2016, 11:18am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/5 "2016-05-20T11:18:54Z")

</div>

@darius yes the failures are only in tests and when we included webservices rest dependency with classifier as ‘tests’, the tests passed. We included dependency like below:

`<dependency> <groupId>org.openmrs.module</groupId> <artifactId>webservices.rest-omod</artifactId> <version>${openMRSWebServicesVersion}</version> <classifier>tests</classifier> <scope>test</scope> </dependency>`

---

<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:** [May 23, 2016, 4:46pm UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/6 "2016-05-23T16:46:06Z")

</div>

Great, so just to check, this problem is now solved?

---

<div class="post-metadata">

**Author:** ![preethi.s](https://talk.openmrs.org/user_avatar/talk.openmrs.org/preethi.s/32/1090_2.png) [@preethi.s](https://talk.openmrs.org/u/preethi.s)\
**Post date:** [May 23, 2016, 4:59pm UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/7 "2016-05-23T16:59:33Z")

</div>

yes it is solved

---

<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:** [May 24, 2016, 8:01pm UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/8 "2016-05-24T20:01:05Z")

</div>

Closed on May 24, 2016, 8:01pm UTC



---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [March 22, 2019, 7:12am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/9 "2019-03-22T07:12:28Z")

</div>

We’re experiencing this error too. I’ve upgraded the webservices version in bahmni-core from 2.17 to 2.24.0 due to the [security threat](https://talk.openmrs.org/t/critical-security-advisory-cve-2018-19276-2019-02-04/21607).

Now a bunch of integration tests are failing with a NoClassDefFoundError. An example of such test is [ReferenceDataConceptReferenceTermServiceImplIT](https://github.com/Bahmni/bahmni-core/blob/master/reference-data/omod/src/test/java/org/bahmni/module/referencedata/labconcepts/service/impl/ReferenceDataConceptReferenceTermServiceImplIT.java). This fails with **java.lang.NoClassDefFoundError: org/openmrs/CodedOrFreeText**.

According to OpenMRS API Docs, [CodedOrFreeText](https://docs.openmrs.org/doc/org/openmrs/CodedOrFreeText.html) was added in OpenMRS 2.2 but bahmni-core depends on 2.1.1.

I tried the solution provided by @preethi.s above with no success.

I added

```
<dependency>
    <groupId>org.openmrs.module</groupId>
    <artifactId>webservices.rest-omod</artifactId>
    <version>${openMRSWebServicesVersion}</version>
    <classifier>tests</classifier>
    <scope>test</scope>
</dependency>

```

In bahmni-core/pom.xml and later bahmni-core/reference-data/pom.xml since all failing tests are coming from the reference-data submodule. But it still didn’t work. Tests still fail with the same error.

cc @binduak @angshuonline @dkayiwa

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [March 22, 2019, 8:38am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/10 "2019-03-22T08:38:57Z")

</div>

You can do this temporary workaround [https://github.com/openmrs/openmrs-module-idgen/blob/3ce39e786461ffc7b2373c3642eda140e2dc2707/omod/src/test/java/org/openmrs/CodedOrFreeText.java](https://github.com/openmrs/openmrs-module-idgen/blob/3ce39e786461ffc7b2373c3642eda140e2dc2707/omod/src/test/java/org/openmrs/CodedOrFreeText.java)

---

<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:** [March 22, 2019, 9:14am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/11 "2019-03-22T09:14:41Z")

</div>

Opened on March 22, 2019, 9:14am UTC



---

<div class="post-metadata">

**Author:** ![angshuonline](https://talk.openmrs.org/user_avatar/talk.openmrs.org/angshuonline/32/4925_2.png) [@angshuonline](https://talk.openmrs.org/u/angshuonline)\
**Post date:** [March 22, 2019, 10:29am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/12 "2019-03-22T10:29:31Z")

</div>

Is this only relevant to test? or would we get into error during runtime as well?

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [March 22, 2019, 11:11am UTC](https://talk.openmrs.org/t/java-lang-noclassdeffounderror-org-openmrs-allergen-on-using-webservices-rest-2-14-with-openmrs-1-x/6361/13 "2019-03-22T11:11:26Z")

</div>

Only for the test. That is why it is under src/test
