I am trying to run a spring boot application with following pom.xml
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>reusables</groupId>
<artifactId>reusables-web</artifactId>
<packaging>war</packaging>
<name>reusables-web</name>
<parent>
<groupId>reusables-parent</groupId>
<artifactId>reusables</artifactId>
<version>2023</version>
</parent>
<properties>
<sonar.coverage.jacoco.xmlReportPaths>../jacoco-report-aggregate/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<spring.version>2.7.11</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>1.5.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>11.0.0-M18</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.30</version>
<exclusions>
<exclusion>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</exclusion>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency> -->
<dependency>
<groupId>TreeGrid</groupId>
<artifactId>TreeGrid</artifactId>
<version>6.1</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9-20130819-ICap</version>
</dependency>
<!-- For Authorization -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${springversion}</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>woodstox-core-asl</artifactId>
<version>4.4.1</version>
</dependency>
<!--<dependency>
<groupId>org.apache.ws.commons.schema</groupId>
<artifactId>XmlSchema</artifactId>
<version>1.4.5</version>
</dependency>-->
<!-- End Of Authentication and Authorization -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1_3</version>
</dependency>
<dependency>
<groupId>org.samba.jcifs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.14-cname</version>
</dependency>
<!-- Primrose & its dependencies -->
<dependency>
<groupId>uk.org.primrose</groupId>
<artifactId>primrose</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>jmx</groupId>
<artifactId>jmxremote</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>jmx</groupId>
<artifactId>jmxremote_optional</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>jmx</groupId>
<artifactId>jmxri</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>jmx</groupId>
<artifactId>jmxtools</artifactId>
<version>1.0.0</version>
</dependency>
<!-- end -->
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>20020829</version>
<optional>true</optional>
</dependency>
<!-- File upload related dependency -->
<!-- Ensure compatible commons-io is used with commons-fileupload jar -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<!-- required for hazelcast distributed session -->
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-wm</artifactId>
<version>4.0</version>
</dependency>
</dependencies>
versions are as follows
spring boot : 2.7.11 struts 2-core : 2.5.30 tomcat-embed-jasper: 9.0.64
Issue Description:
After starting this application from intellij what i am seeing below error is coming and tomcat is not able to start
caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.JspWriter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 51 common frames omitted
[20240324 07:38:40.238 EDT (main) org.apache.catalina.core.StandardContext#filterStart SEVERE] Exception starting filter [struts2]
Unable to load configuration. - bean - jar:file:/home/srivastu/.m2/repository/org/apache/struts/struts2-core/2.5.30/struts2-core-2.5.30.jar!/struts-default.xml:130:150
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:509)
This is coming when struts filter is being initialized
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:970)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:463)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:496)
at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:73)
at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:61)
The filter is defined in web.xml as below:
<!-- Struts 2 configuration -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,${fuma.module}-struts.xml</param-value>
</init-param>
</filter>
due to this error the tomcat server is not coming up and failing everytime.
Please suggest what is missing here.