Hi all, If only for the email archives – just a note to say that I have not yet found a solution.
Thanks, Tim -- Tim Scott OCLC · Senior Software Engineer / Technical Product Manager cc: IT file OCLC COVID-19 resources: oc.lc/covid19-service-info<https://oc.lc/covid19-service-info> From: Scott,Tim Sent: Tuesday, March 15, 2022 2:45 PM To: 'Tomcat Users List' <users@tomcat.apache.org> Subject: RE: Problems deploying new .war application on Linux Hi Thomas, > Another approach is to do remote debugging and step into the class with the > error > (javax.enterprise.inject.se.SeContainerInitializer.findSeContainerInitializer) I set an Exception breakpoint on IllegalStateException and this opened the class for me to set a breakpoint prior to the exception. When I retried that, I can see that the ServiceLoader is passed: ParallelWebappClassLoader context: sru delegate: false ----------> Parent Classloader: java.net.URLClassLoader@1623b78d<mailto:java.net.URLClassLoader@1623b78d> Under loader / resources / classResources, the list includes: #37 = file:/app/dev/tomcat/webapps/sru/WEB-INF/lib/jakarta.enterprise.cdi-api-3.0.0.jar #51 = file:/app/dev/tomcat/webapps/sru/WEB-INF/lib/cdi-api-2.0.SP1.jar #52 = file:/app/dev/tomcat/webapps/sru/WEB-INF/lib/jersey-cdi2-se-2.34.jar When I compare this with a breakpoint prior to that exception, deployed on my PC, the breakpoint is never reached. When I set a breakpoint in the ServiceLoader class/load() method on my PC and skip through to each pause I can see that it does not get called to find SeContainerInitializer. I had hoped to compare the ClassLoader passed in to ServiceLoader.load() to help pin down the problem. I had not expected an absence of a call to the method! Any further ideas? Thanks, Tim -- Tim Scott OCLC · Senior Software Engineer / Technical Product Manager cc: IT file OCLC COVID-19 resources: oc.lc/covid19-service-info<https://oc.lc/covid19-service-info>