I've got an Ubuntu 22.04 server and I've installed Tomcat v9 and OpenJDK v11 so I could load the Davmail WAR file into Tomcat to host the application. WAR file I'm using is named:
davmail-6.0.1-3390.war
I downloaded it from here:
https://sourceforge.net/projects/davmail/files/davmail/6.0.1/davmail-6.0.1-3390.war/download
I can load the WAR file and the application shows as running in Tomcat. I cannot reach the website, which I expect to be here:
http://myserver:8080/davmail-6.0.1-3390/
However, I can reach the manager, host-manager, and docs sites for Tomcat just fine. When I look at the logs, I'm not seeing a lot. While looking at the catalina.out log file, I do see that while Tomcat is loading Davmail it can't find TLD information for some of the jar files, but that doesn't look like an error, just a warning and the ROOT Tomcat application also popped that message when it loaded, so I don't think it is a big deal. I can also see that Davmail is having issues releasing soft references from the cache. Again, this doesn't seem like a huge issue, but there is a large stacktrace that posts to the logs:
[2022-09-27 17:09:20] [warning] Failed to clear soft references from ObjectStreamClass$Caches for web application [davmail-6.0.1-3390]
[2022-09-27 17:09:20] [warning] java.lang.ClassCastException: class java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map (java.io.ObjectStreamClass$Caches$1 and java.util.Map are in module java.base of loader 'bootstrap')
[2022-09-27 17:09:20] [warning] at org.apache.catalina.loader.WebappClassLoaderBase.clearCache(WebappClassLoaderBase.java:2325)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesObjectStreamClassCaches(WebappClassLoaderBase.java:2300)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1669)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1597)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:463)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5515)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.manager.ManagerServlet.stop(ManagerServlet.java:1489)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.manager.HTMLManagerServlet.stop(HTMLManagerServlet.java:722)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:223)
[2022-09-27 17:09:20] [warning] at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
[2022-09-27 17:09:20] [warning] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:211)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:659)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
[2022-09-27 17:09:20] [warning] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
[2022-09-27 17:09:20] [warning] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
[2022-09-27 17:09:20] [warning] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
[2022-09-27 17:09:20] [warning] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
[2022-09-27 17:09:20] [warning] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[2022-09-27 17:09:20] [warning] at java.base/java.lang.Thread.run(Thread.java:829)
The only other thing I see is that while the WAR file is getting deployed, I see the following error message:
[2022-09-27 17:16:13] [info] 2022-09-27 17:16:13,742 ERROR [http-nio-8080-exec-62] davmail - Unable to set log file path
The WAR file defaults the davmail.properties file to use the following for the logfile path:
davmail.logFilePath=/var/log/davmail.log
I wondered if the issue was the log file was getting generated someplace Tomcat could not write to, so I updated that entry to:
davmail.logFilePath=/var/log/tomcat9/davmail.log
and restarted Tomcat. No change. Still can't reach the Davmail website.
What do I need to do to get the Davmail application to work with Tomcat on Ubuntu? All the docs I see on davmail.sourceforge.net indicates I've done more than needed to make the application work.