Hi
I have deployed Tomcat 11, OpenJDK 25 (tried OpenJDK 21) with Guacamole
1.6.0.war on Debian.
Looking at Catalina.log, the Guacamole WAR is correctly deployed into
/var/lib/tomcat11/webapps/quacamole.
01-Oct-2025 12:06:27.690 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server version
name: Apache Tomcat/11.0.6 (Debian)
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server built:
Apr 3 2025 20:30:12 UTC
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Server version
number: 11.0.6.0
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log OS Name:
Linux
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log OS Version:
6.12.48+deb13-amd64
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Architecture:
amd64
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Java Home:
/usr/lib/jvm/java-25-openjdk-amd64
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log JVM Version:
25-ea+32-Debian-1
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:
Debian
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:
/var/lib/tomcat11
01-Oct-2025 12:06:27.691 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:
/usr/share/tomcat11
01-Oct-2025 12:06:27.699 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument:
-Djava.util.logging.config.file=/var/lib/tomcat11/conf/logging.properties
01-Oct-2025 12:06:27.699 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.awt.headless=true
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djdk.tls.ephemeralDHKeySize=2048
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.base/java.lang=ALL-UNNAMED
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.base/java.io=ALL-UNNAMED
01-Oct-2025 12:06:27.700 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.base/java.util=ALL-UNNAMED
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: --enable-native-access=ALL-UNNAMED
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dcatalina.base=/var/lib/tomcat11
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Dcatalina.home=/usr/share/tomcat11
01-Oct-2025 12:06:27.701 INFO [main]
org.apache.catalina.startup.VersionLoggerListener.log Command line
argument: -Djava.io.tmpdir=/tmp
01-Oct-2025 12:06:27.705 INFO [main]
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent An older
version [1.3.1] of the Apache Tomcat Native library is installed, while
Tomcat recommends a minimum version of [2.0.5]
01-Oct-2025 12:06:27.705 INFO [main]
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded
Apache Tomcat Native library [1.3.1] using APR version [1.7.5].
01-Oct-2025 12:06:27.710 INFO [main]
org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL
successfully initialized [OpenSSL 3.5.1 1 Jul 2025]
01-Oct-2025 12:06:27.925 INFO [main]
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
["http-nio-8080"]
01-Oct-2025 12:06:27.939 INFO [main]
org.apache.catalina.startup.Catalina.load Server initialization in [370]
milliseconds
01-Oct-2025 12:06:27.971 INFO [main]
org.apache.catalina.core.StandardService.startInternal Starting service
[Catalina]
01-Oct-2025 12:06:27.971 INFO [main]
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet
engine: [Apache Tomcat/11.0.6 (Debian)]
01-Oct-2025 12:06:27.976 INFO [main]
org.apache.catalina.startup.HostConfig.deployDescriptor Deploying
deployment descriptor [/etc/tomcat11/Catalina/localhost/host-manager.xml]
01-Oct-2025 12:06:27.985 WARNING [main]
org.apache.catalina.startup.HostConfig.deployDescriptor The path
attribute with value [/host-manager] in deployment descriptor
[/etc/tomcat11/Catalina/localhost/host-manager.xml] has been ignored
01-Oct-2025 12:06:28.601 INFO [main]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger for a complete list of JARs that were scanned but no TLDs were
found in them. Skipping unneeded JARs during scanning can improve
startup time and JSP compilation time.
01-Oct-2025 12:06:28.624 INFO [main]
org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of
deployment descriptor
[/etc/tomcat11/Catalina/localhost/host-manager.xml] has finished in [646] ms
01-Oct-2025 12:06:28.624 INFO [main]
org.apache.catalina.startup.HostConfig.deployDescriptor Deploying
deployment descriptor [/etc/tomcat11/Catalina/localhost/manager.xml]
01-Oct-2025 12:06:28.625 WARNING [main]
org.apache.catalina.startup.HostConfig.deployDescriptor The path
attribute with value [/manager] in deployment descriptor
[/etc/tomcat11/Catalina/localhost/manager.xml] has been ignored
01-Oct-2025 12:06:29.000 INFO [main]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger for a complete list of JARs that were scanned but no TLDs were
found in them. Skipping unneeded JARs during scanning can improve
startup time and JSP compilation time.
01-Oct-2025 12:06:29.002 INFO [main]
org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of
deployment descriptor [/etc/tomcat11/Catalina/localhost/manager.xml] has
finished in [378] ms
01-Oct-2025 12:06:29.003 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deploying web
application archive [/var/lib/tomcat11/webapps/guacamole.war]
01-Oct-2025 12:06:29.939 INFO [main]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger for a complete list of JARs that were scanned but no TLDs were
found in them. Skipping unneeded JARs during scanning can improve
startup time and JSP compilation time.
01-Oct-2025 12:06:29.940 SEVERE [main]
org.apache.catalina.core.StandardContext.startInternal One or more
listeners failed to start. Full details will be found in the appropriate
container log file
01-Oct-2025 12:06:29.940 SEVERE [main]
org.apache.catalina.core.StandardContext.startInternal Context
[/guacamole] startup failed due to previous errors
01-Oct-2025 12:06:29.945 INFO [main]
org.apache.catalina.startup.HostConfig.deployWAR Deployment of web
application archive [/var/lib/tomcat11/webapps/guacamole.war] has
finished in [942] ms
01-Oct-2025 12:06:29.946 INFO [main]
org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
application directory [/var/lib/tomcat11/webapps/ROOT]
01-Oct-2025 12:06:30.304 INFO [main]
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was
scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger for a complete list of JARs that were scanned but no TLDs were
found in them. Skipping unneeded JARs during scanning can improve
startup time and JSP compilation time.
01-Oct-2025 12:06:30.306 INFO [main]
org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
application directory [/var/lib/tomcat11/webapps/ROOT] has finished in
[360] ms
01-Oct-2025 12:06:30.309 INFO [main]
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
["http-nio-8080"]
01-Oct-2025 12:06:30.316 INFO [main]
org.apache.catalina.startup.Catalina.start Server startup in [2375]
milliseconds
Looking at the localhost
01-Oct-2025 12:06:29.940 SEVERE [main]
org.apache.catalina.core.StandardContext.listenerStart Error configuring
application listener of class
[org.apache.guacamole.GuacamoleServletContextListener]
java.lang.NoClassDefFoundError:
javax/servlet/ServletContextListener
at java.base/java.lang.ClassLoader.defineClass1(Native
Method)
at
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962)
at
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144)
at
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2170)
at
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:696)
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189)
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1059)
at java.base/java.lang.ClassLoader.defineClass1(Native
Method)
at
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962)
at
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144)
at
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2170)
at
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:696)
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1189)
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1059)
at
org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:482)
at
org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:465)
at
org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3943)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4438)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:566)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:925)
at
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1842)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:125)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:730)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:381)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1581)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:265)
at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
at
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)
at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:743)
at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:769)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1164)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:149)
at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:716)
at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:412)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:866)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:759)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at
java.base/java.lang.reflect.Method.invoke(Method.java:565)
at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:477)
Caused by: java.lang.ClassNotFoundException:
javax.servlet.ServletContextListener
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1228)
at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1059)
... 55 more
Is the error "Caused by: java.lang.ClassNotFoundException:
javax.servlet.ServletContextListener at
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1228)"
caused by a packaging error in the guacamole-1.6.0.war file?
Kind Regards
Russell
- Severe error when Tomcat11 webapps guacamole-1.6.0.war russell
-