Please Explain Hibernate/ORM Installation / Initialization Internals


I’ve probably accumulated 60+ hours trying to get ORM to work reliably in Lucee docker images. I keep thinking I’ve worked around it, but then I’ll get the No ORM Engine installed! error when trying to run my application in the container.

My assertions about image building:

  • Provided the same Dockerfile/context, a build that runs to completion on System A and System B should yield identical results.
  • If there are any problems with the build (e.g., a download server is inaccessible for whatever reason), the build should fail, rather than hide the problem.

I suspect that due to some quirks with Lucee server, neither of those assertions are satisfied.

Due to some beefs (A, B) with the official image, I build my own, but I use the same build procedure.

On one of my build/runtime environments (a vagrant RHEL VirtualBox VM running on an OSX host), I intermittently get images that result in my application throwing No ORM Engine installed! errors.

Could someone please give me a detailed rundown of how the ORM extension gets initialized? (Which files gets copied, from where to where, at which point in the process; whether any downloads take place, etc.) Only then can I troubleshoot in a sane way.

I’ve seen the install extensions on demand thread, but it’s too high-level to understand the plumbing.

Thanks in advance,


Install Extensions on demand
Hacking/Debugging Lucee Core (and Dealing with Debugging Timeout)

I suppose I’ll have to continue down the rabbit hole myself, but at the moment, I’m stuck trying to step-debug Lucee server: Hacking/Debugging Lucee Core (and Dealing with Debugging Timeout)