Tomcat/Lucee/Java issue

I am trying to run Tomcat 11 and Lucee 6.1.1.18 and Java 21. And getting the error message . I used the migration tool to replace javax with jakarta
Type Exception Report

Message Servlet.init() for servlet [CFMLServlet] threw exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

jakarta.servlet.ServletException: Servlet.init() for servlet [CFMLServlet] threw exception

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)

org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:663)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:395)

org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)

org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)

org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1746)

org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)

org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1148)

org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)

org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)

java.base/java.lang.Thread.run(Thread.java:1583)

Root Cause

java.lang.IllegalStateException: Can’t overwrite cause with org.osgi.framework.BundleException: Unable to resolve org.lucee.httpcomponents.httpclient [3](R 3.0): missing requirement [org.lucee.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (osgi.wiring.package=org.apache.http.concurrent) [caused by: Unable to resolve org.lucee.httpcomponents.httpcore [26](R 26.0): missing requirement [org.lucee.httpcomponents.httpcore [26](R 26.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.commons.logging)(bundle-version>=1.2.0.0000L)) [caused by: Unable to resolve org.lucee.commons.logging [38](R 38.0): missing requirement [org.lucee.commons.logging [38](R 38.0)] osgi.wiring.package; (osgi.wiring.package=jakarta.servlet)]] Unresolved requirements: [[org.lucee.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (osgi.wiring.package=org.apache.http.concurrent)]

Any suggestions?

I think all those versions might be too high for lucee but I need to check. Expecially Java 21 (but I am not sure)

My understanding is that 6.1.1 supports Java 21 on Tomcat 9 and 10, however you do have to change a setting in Tomcat’s XML files somewhere to get it to work on 10… But I think that was a forum post which I can’t locate at the moment.

I am trying to get to Tomcat 11. All they basically saying I need to use the migration tool and replace javaX WITH jakarta

Have you changed the servlet to the jakarta one rather than the default?

I did. I ran the migration tool

I downloaded the lucee.jar file and ran the migration tool

Any more suggestions?

Still getting this message. updated to Lucee 6.2.0.166-RC.jar and Tomcat 10.1.33 and Java 21.0.5

Caused by: jakarta.servlet.ServletException: org.osgi.framework.BundleException: Unable to resolve org.lucee.httpcomponents.httpclient [3](R 3.0): missing requirement [org.lucee.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (osgi.wiring.package=org.apache.http.concurrent) [caused by: Unable to resolve org.lucee.httpcomponents.httpcore [26](R 26.0): missing requirement [org.lucee.httpcomponents.httpcore [26](R 26.0)] osgi.wiring.bundle; (&(osgi.wiring.bundle=org.lucee.commons.logging)(bundle-version>=1.2.0.0000L)) [caused by: Unable to resolve org.lucee.commons.logging [38](R 38.0): missing requirement [org.lucee.commons.logging [38](R 38.0)] osgi.wiring.package; (osgi.wiring.package=jakarta.servlet)]] Unresolved requirements: [[org.lucee.httpcomponents.httpclient [3](R 3.0)] osgi.wiring.package; (osgi.wiring.package=org.apache.http.concurrent)]

                          at lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:688)

Where are you getting that message? I’ve got those versions running OK as far I can see.

Again, I’m running in Docker, but from that Tomcat image added that version of Lucee and then added the using web/server.xml files, making sure the web.xml is running the Jakarta version rather than the default.

<servlet-class>lucee.loader.servlet.jakarta.CFMLServlet</servlet-class>

I have update the web.xml to lucee.loader.servlet.jakarta.CFMLServlet but still getting an error message