Bonjour,
J’ai installé l’application SCENARIsuite-starter sur Debian via le gestionnaire de paquet et le dépôt mis à disposition (documentation).
Lors du déploiement de l’application (avec le serveur d’application Tomcat 9), les erreurs suivantes apparaissent :
06-Feb-2021 09:02:06.724 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/var/lib/tomcat9/webapps/scenarisuite-starter5.0.war]
06-Feb-2021 09:02:06.782 SEVERE [main] org.apache.tomcat.util.digester.Digester.endElement End event threw exception
java.lang.reflect.InvocationTargetException
...
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
Caused by: java.lang.IllegalArgumentException: The servlets named [default] and [default] are both mapped to the url-pattern [/~~edit] which is not permitted
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded(WebXml.java:342)
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:335)
... 63 more
06-Feb-2021 09:02:06.785 SEVERE [main] org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml Parse error in application web.xml file at [file:/var/lib/tomcat9/webapps/scenarisuite-starter5.0/WEB-INF/web.xml]
org.xml.sax.SAXParseException; systemId: file:/var/lib/tomcat9/webapps/scenarisuite-starter5.0/WEB-INF/web.xml; lineNumber: 25; columnNumber: 124; Error at line [25] column [124]: [The servlets named [default] and [default] are both mapped to the url-pattern [/~~edit] which is not permitted]
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1892)
...
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
Caused by: java.lang.IllegalArgumentException: The servlets named [default] and [default] are both mapped to the url-pattern [/~~edit] which is not permitted
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded(WebXml.java:342)
at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:335)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.tomcat.util.IntrospectionUtils.callMethodN(IntrospectionUtils.java:398)
at org.apache.tomcat.util.descriptor.web.CallMethodMultiRule.end(WebRuleSet.java:1045)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:980)
... 56 more
06-Feb-2021 09:02:06.786 SEVERE [main] org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml Occurred at line [25] column [124]
06-Feb-2021 09:02:06.807 SEVERE [main] org.apache.catalina.startup.ContextConfig.configureStart Marking this application unavailable due to previous error(s)
06-Feb-2021 09:02:06.807 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more components marked the context as not correctly configured
06-Feb-2021 09:02:06.808 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [/scenarisuite-starter5.0] startup failed due to previous errors
06-Feb-2021 09:02:06.815 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/var/lib/tomcat9/webapps/scenarisuite-starter5.0.war] has finished in [91] ms
06-Feb-2021 09:02:06.818 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
06-Feb-2021 09:02:06.862 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [2,665] milliseconds
À y regarder de plus près le fichier WEB-INF/web.xml
déployé, j’ai observé le bloc suivant :
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/&</url-pattern>
</servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/~~edit</url-pattern></servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/~~chain</url-pattern>
</servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/~~edit</url-pattern></servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/~~static/*</url-pattern>
</servlet-mapping><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/~~edit</url-pattern></servlet-mapping>
Pour corriger l’erreur et lever l’exception remontée par Tomcat, j’ai d’abord supprimé deux des trois occurrences du bloc contenant le motif d’URL /~~edit/
.
Après quoi l’application a pu démarrer correctement et j’ai pu me connecter.
Ai-je manqué quelque chose à l’installation donnant lieu à ce problème ?
Bonne journée.