Hi

Thank for the info, the current version of debian does not provide tomcat 9 only tomcat 10 and 11. Do you know if there is an eta a version which does support tomcat 10 and 11?

Kind Regards

Russell


On 2025-10-01 12:50, Vincent Sherwood wrote:
Guacamole requires Tomcat 9.

There is an ongoing Issue to update it to run on later versions but at this time it is not possible.


------------------------------------------------------------------------
*From:* russell <[email protected]>
*Sent:* Wednesday 1 October 2025 12:39
*To:* [email protected] <[email protected]>
*Subject:* Severe error when Tomcat11 webapps guacamole-1.6.0.war

        
You don't often get email from [email protected]. Learn why this is important <https://aka.ms/LearnAboutSenderIdentification>
        

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




IT Solutions Email Disclaimer - This e-mail and any files transmitted with it contain information which may be confidential and which may also be privileged and is intended solely for the use of the individual or entity to whom it is addressed. Unless you are the intended recipient you may not copy or use it, or disclose it to anyone else. Any opinions expressed are that of the individual and not necessarily that of IT Solutions Ltd. If you have received this e-mail in error please notify the sender by return. For further information on IT Solutions visit https://www.itsolutions.ie



IT Solutions Email Disclaimer - The information contained in this email message, including any files transmitted with it, is confidential and may be legally privileged.

This e-mail is intended only for the personal attention of the stated addressee(s). Any access to this email, including any files transmitted with it, by any other person is unauthorised. If you are not an addressee, you must not disclose, copy, circulate or in any other way use or rely on the accuracy or completeness of the information contained in this email or any files transmitted with it.

If you have received this email in error, please inform the sender immediately and delete it and all copies from your system. You may not forward this email without the permission of the authorised sender.

The views expressed in this email are those of the author, and do not necessarily represent the views of IT Solutions or its affiliates. Internet communications are not secure and IT Solutions cannot therefore accept legal responsibility for the contents of this message nor for any damage caused by viruses. This email has been scanned at the originating end. For further information on IT Solutions visit https://www.itsolutions.ie

Reply via email to