Lucee 5.3.9.133: problem using a jar

We have an application that uses a Jar to invoke external APIs. (For us the jar is a “black box”: it was not developed by us).

Up to version 5.8 it worked perfectly.

With version 5.3.9.133 I get this error:

Could not initialize class org.springframework.http.HttpLogging

I’m able to create the java object, but not to invoke the methods.

Any idea?

This is the stacktrace:

lucee.runtime.exp.NativeException: Could not initialize class org.springframework.http.HttpLogging
   at org.springframework.http.client.support.HttpAccessor.<init>(HttpAccessor.java:48 undefined)
   at org.springframework.http.client.support.InterceptingHttpAccessor.<init>(InterceptingHttpAccessor.java:44 undefined)
   at org.springframework.web.client.RestTemplate.<init>(RestTemplate.java:139 undefined)
   at org.springframework.web.client.RestTemplate.<init>(RestTemplate.java:190 undefined)
   at it.HIDDEN.api.base.rest.RestClient.<init>(RestClient.java:36 undefined)
   at it.HIDDEN.api.base.rest.RestClientBuilder$Builder.build(RestClientBuilder.java:81 undefined)
   at it.HIDDEN.api.authentication.service.AuthenticationService.token(AuthenticationService.java:39 undefined)
   at it.HIDDEN.api.authentication.facade.AuthenticationFacade.getConnection(AuthenticationFacade.java:26 undefined)
   at it.HIDDEN.api.base.facade.AbsServiceFacade.getToken(AbsServiceFacade.java:10 undefined)
   at it.HIDDEN.api.shipment.facade.TrackingFacade.list(TrackingFacade.java:32 undefined)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 undefined)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43 undefined)
   at java.lang.reflect.Method.invoke(Method.java:498 undefined)
   at lucee.runtime.reflection.pairs.MethodInstance.invoke(MethodInstance.java:56 undefined)
   at lucee.runtime.reflection.Reflector.callMethod(Reflector.java:877 undefined)
   at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:831 undefined)
   at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1762 undefined)
   at tests.manual.sdk_cfm$cf$6.call(/tests/manual/sdk.cfm:14 undefined)
   at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1043 undefined)
   at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:935 undefined)
   at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:219 undefined)
   at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44 undefined)
   at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2475 undefined)
   at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2465 undefined)
   at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2436 undefined)
   at lucee.runtime.engine.Request.exe(Request.java:45 undefined)
   at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1194 undefined)
   at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1140 undefined)
   at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97 undefined)
   at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51 undefined)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:733 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166 undefined)
   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166 undefined)
   at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176 undefined)
   at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145 undefined)
   at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92 undefined)
   at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193 undefined)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166 undefined)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199 undefined)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97 undefined)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544 undefined)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143 undefined)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81 undefined)
   at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690 undefined)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78 undefined)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343 undefined)
   at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616 undefined)
   at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65 undefined)
   at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818 undefined)
   at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626 undefined)
   at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49 undefined)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149 undefined)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624 undefined)
   at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61 undefined)
   at java.lang.Thread.run(Thread.java:748 undefined) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.HttpLogging ... 60 more

OS: Window 10 / but on Linux too
Java Version: 1.8.0_221
Tomcat Version: 8.5
Lucee Version: 5.3.9.133

I think your jar needs also the dependency
jar org.springframework.http.HttpLogging

I’m not very familiar with Java, but it seems to be included yet in the Jar package:

image

Is there more to the stack trace? The “could not initialize” sort of messages are usually an error thrown in the constructor of the class. And MOST IMPORTANTLY, there is a behavior where when a class cannot be initialized, Lucee/Java/whatever WILL NOT TRY AGAIN until you reboot the JVM. Therefore, you need to do a fresh start and capture the very first error that happens the very first time this occurs. Because all subsequent errors won’t have the original problem. It’s like it never tries to create the class again once it fails.

1 Like