Closed MarcoSchaar closed 2 years ago
I guess that you are talking about the WAR file which does not start anymore in your J2EE server. It's difficult to help you without any logs or further information.
at the moment I make use of plantuml-v1.2021.14.war
some logs are available
SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [plantumlservlet] java.lang.ClassNotFoundException: jakarta.servlet.http.HttpServlet at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:538) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:519) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1070) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829)
It kooks like an issue about the version of tomcat you are using. https://stackoverflow.com/questions/28325329/java-lang-noclassdeffounderror-javax-servlet-http-httpservlet https://stackoverflow.com/questions/57346981/how-to-fix-classnotfoundexception-javax-servlet-http-httpfilter
Maybe you should try with a newer version ?
making use tomcat 9.0.54
Server version: Apache Tomcat/9.0.54 Server number: 9.0.54.0
JVM Version: 11.0.13+8 openjdk 11.0.13 2021-10-19 OpenJDK Runtime Environment 18.9 (build 11.0.13+8) OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8, mixed mode)
hi @arnaudroques while using updated tomcat
Server version: Apache Tomcat/9.0.55
Server built: Nov 10 2021 08:26:45 UTC
Server number: 9.0.55.0
OS Name: Linux
OS Version: 4.19.128-microsoft-standard
Architecture: amd64
JVM Version: 11.0.13+8
and latest version plantuml-jsp-v1.2021.15.war
I get the following error:
SEVERE [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [plantumlservlet]
java.lang.ClassCastException: class net.sourceforge.plantuml.servlet.PlantUmlServlet cannot be cast to class javax.servlet.Servlet (net.sourceforge.plantuml.servlet.PlantUmlServlet is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @52de51b6; javax.servlet.Servlet is in unnamed module of loader java.net.URLClassLoader @66480dd7)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1070)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
any hints for troubleshooting?
I'm not sure, but perhaps this https://github.com/plantuml/plantuml-server/pull/198 add a dependency on Tomcat 10. (Same error here)
@HeinrichAD Any idea on this ?
Hi @arnaudroques thanks for this hint. updated tomcat to version 10 and it works
Glad to hear that the problem has already been solved. :smiley:
Glad to hear that the problem has already been solved. smiley
Sure!
However, on our side, I don't see why it should not work on tomcat 9.
Since @MarcoSchaar is talking about some file plantuml-jsp-v1.2021.15.war
which is not built by this repository, I am wondering if the dependency on tomcat 10 is added by their built, not ours.
@HeinrichAD Any thought ?
Why is it not built by this repository? releases
Also see Important changes which may need further discussion > war generation from #198
Also with Tomcat 10 and Jetty 11 they changes their bases classes from javax.servlet
to jakarta.servlet
. To be more precise, the package has been renamed and will continue to be developed under this name. I suspect this is also the problem. (But this is just a guess right now.)
Also with Tomcat 10 and Jetty 11 they changes their bases classes from
javax.servlet
tojakarta.servlet
.
Of course, you're right :facepalm: This is the real cause of the issue.
@arnaudroques Maybe we should add this to the Requirements
section inside the README?
Edit: But is it really a requirements? Maybe just as a hint below the requirements section?
Edit: But is it really a requirements? Maybe just as a hint below the requirements section?
Let's say it's a recommended requirement :-)
Would you mind update the README ? Thanks!
Also with Tomcat 10 and Jetty 11 they changes their bases classes from
javax.servlet
tojakarta.servlet
.
So it's now impossible to run the WAR on Jetty 9 because of this? any workarounds other than manually installing Jetty 11 as Linux distros don't ship Jetty 11, there's only jetty9
package on Debian/Ubuntu (across all versions).
Encountered the same issue with Tomcat 9, which is widely shipped with distributions. Using the binary release of Tomcat 10 made it work.
dear supporting team, with update to 1.2021.13 and 1.2021.14 something got changed compared to 1.2021.12 that prevent application from starting in unchanged environment. what needs to be done to get updated versions to run?