Can we do it by ourselves? Is it possible? If not when we can expect the changes . Since upgrade to Tomcat 10+ is recommended due to some vulnerabilities.
On Fri, 6 Oct 2023 at 22:33, Nick Couchman <vn...@apache.org> wrote: > On Fri, Oct 6, 2023 at 12:45 PM Rihab Kasim <rihabkasim...@gmail.com> > wrote: > > > Hi Team , > > > > We planned to upgrade both guacamole and apache tomcat from 1.5.2 and > > 9.75.0 to 1.5.3 and 10.1.13 respectively , then came to know that there > > is a significant change from Tomcat 9.0.x and Tomcat 10.0.x. The Java > > package used by the specification APIs has changed from javax to jakarta. > > The problem arises here in guacamole where it still uses Javax servlets > and > > other libraries which only support javax. > > > > *What we tried :-* > > We tried to migrate Guacamole using the Apache Tomcat migration tool for > > Jakarta EE <https://tomcat.apache.org/download-migration.cgi> , moreover > > made changes in pom.xml and web.xml files in guacamole.war files to make > > the guacamole compatible with Jakarta. But still the errors occur due to > > mismatch in the configurations with Tomcat Jakarta Servlets and > Guacamole. > > > > *Errors we got:* > > > > 1. java.lang.NoClassDefFoundError:javax/servlet/ServletContextListener > > 2. java.lang.NoSuchMethodError: 'void > > jakarta.servlet.http.HttpServletResponse.setStatus(int, > java.lang.String)' > > at > > > org.glassfish.jersey.servlet.internal.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:147) > > > > Were able to fix the first error after making changes in pom.xml and > using > > the tomcat migration tool for Jakarta,but the second error still exists > > even after we changed the versions of all including *jersey server and > > client*. > > > > pom.xml and web.xml files are attached for reference. > > > > > This is a known issue: > > https://issues.apache.org/jira/browse/GUACAMOLE-1325 > > The solution for the time being is to stick with Tomcat 9.x, which is still > actively maintained. Overall, some work will have to be done within the > Java code for Guacamole to detect which namespaces are available and > dynamically choose between them. It's doable, but is a bit of work. > > -Nick >