You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ivano Luberti <lu...@archicoop.it.INVALID> on 2023/09/07 06:58:22 UTC
java.lang.ClassNotFoundException for listener class
Hello all.
I have developed a web application using Eclipse as an IDE and test
environment and it runs as expected.
Then I have built a war file and deployed it under another Tomcat instance.
In both case tomcat version is 8.5
Under this last instance the application can't start and in the log
files I find:
> 07-Sep-2023 07:48:18.173 SEVERE [http-nio-8080-exec-129]
> org.apache.catalina.core.StandardContext.listenerStart Error
> configuring application listener of class
> [it.archimede.met.obliterazione.zse.servlet.CreaConnessione]
> java.lang.ClassNotFoundException:
> it.archimede.met.obliterazione.zse.servlet.CreaConnessione
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
> at
> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
> at
> org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:545)
> at
> org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:526)
> at
> org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
> at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4613)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5155)
> at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
> at
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:614)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:486)
> at
> org.apache.catalina.startup.HostConfig.check(HostConfig.java:1634)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:607)
> at
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:286)
> at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
> at
> com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
> at
> org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1562)
> at
> org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:990)
> at
> org.apache.catalina.manager.HTMLManagerServlet.deployInternal(HTMLManagerServlet.java:320)
> at
> org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:209)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:211)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:668)
> at
> org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:348)
> at
> org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:52)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
> at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
> at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:748)
I have compared the war file I have built and doesn't work with the
version deployed under Eclipse and they are identical.
In web.xml, of course I have in both cases:
<listener>
<listener-class>it.archimede.met.obliterazione.zse.servlet.CreaConnessione</listener-class>
</listener>
I have to mention that this class files is not deployed in
WEB-INF/classes but in WEB-INF/services, since is part of a web service
developed using Axis2.
Axis2 configuration is the same in both environment.
I can understand it is a classloading issue but I cannot understand why
two tomcat instances behave differently with the same application.
TIA
--
Archimede Informatica tratta i dati personali in conformità a quanto
stabilito dal Regolamento UE n. 2016/679 (GDPR) e dal D. Lgs. 30 giugno
2003 n. 196
per come modificato dal D.Lgs. 10 agosto 2018 n. 101.
Informativa completa
<http://www.archicoop.it/fileadmin/pdf/InformativaTrattamentoDatiPersonali.pdf>
dott. Ivano Mario Luberti
Archimede Informatica società cooperativa a r. l.
Via Gereschi 36, 56127 Pisa
tel.: +39 050/580959 | fax: +39 050/8932061
web: www.archicoop.it
linkedin: www.linkedin.com/in/ivanoluberti
facebook: www.facebook.com/archimedeinformaticapisa/