Issue with building the main branch

> Task :openremote:agent:compileJava
openremote/agent/src/main/java/org/openremote/agent/protocol/bluetooth/mesh/ error: package org.jdom does not exist
import org.jdom.Document;

All of a sudden having this issue when building the custom project. Even with a fresh clone of the custom project.
adding :

implementation 'org.jdom:jdom:1.1.3'

to the agent gradle file fixes it. Anyone else having this problem ? was not having it yesterday



I have exactly the same problem. I fixed it the same way.

I even have it on my CI/CD pipeline that is a copy of the upstream workflows. I have it since yesterday.


thanks for confirming, I just spent2 hours fighting with my IDE thinking i’ve gone crazy

No worries, here I have precisely the same story. I am making a pull request for it.

Maybe somebody should look at the fact that this is using jdom and not jdom2. There are still CVE issues open for both libraries.


Hi all!

I also experienced this today, but it was indeed quite a simple fix.

You can also, instead of adding the additional dependency on jdom v1,
upgrade the imports from jdom to jdom2; it worked for me out of the box. :wink:
I think that’s a better approach too.

However, no clue how that got in, since no upgrade / dependency change happened on our end.
Maybe removal of a deprecated version we were using?

Just pinged the OR developers internally :grin:

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

Hi Martin,

I did not do the jdom2 upgrade in my pull request, as I do not have any means to test the changes applied. According to, jdom2 is a complete rewrite, so it is advisable to perform a small test with the real end application.

I wasted a lot of time checking out the issue, as I now have the build problem without changing anything. Yesterday, everything was fine. Anyhow, it is still a riddle to me how it was built in the first place without the package being imported.

The build pipeline runs on ubuntu-latest. Maybe an update in one of the build components was pushed last night.

Looks like one of the developers has re-published the zwave dependency and that had a runtime dependency on org.jdom but doesn’t anymore. org.jdom2 is another transient runtime dependency.

1 Like

I experienced the same issue one hour ago. I changed the import to jdom2 in but I still have errors:

Could not compile build file '/home/energy/or/custom-project/agent/build.gradle'.
> startup failed:
  General error during conversion: Unsupported class file major version 65
  java.lang.IllegalArgumentException: Unsupported class file major version 65
        at groovyjarjarasm.asm.ClassReader.<init>(


It’s strange, I tried before that to add
implementation "org.jdom:jdom:1.1.3"
in the /custom-project/agent/build.gradle file, but as it didn’t work I removed it again. Theoretically the build.gradle file is restored to its original state.
Any hints?


You’ve compiled the manager with a java version of 21 but the manager docker container is using java 17.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.