Karen,

On 3/1/23 09:09, Karen Goh wrote:
Hello experts,
I need desperate help to fix this java.lang.ClassNotFoundException: 
jakarta.servlet.jsp.JspFactory
Here are my dependencies which I have installed but still Tomcat will still 
purge out the ClassNotFound error :
<dependencies>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>2.13.3</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit 
-->
         <dependency>
             <groupId>com.squareup.retrofit2</groupId>
             <artifactId>retrofit</artifactId>
             <version>2.9.0</version>
         </dependency>
         <dependency>
             <groupId>com.squareup.retrofit2</groupId>
             <artifactId>converter-gson</artifactId>
             <version>2.9.0</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
             <version>2.10.1</version>
         </dependency>
         <!-- 
https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api
 -->
         <dependency>
             <groupId>jakarta.servlet.jsp.jstl</groupId>
             <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
             <version>3.0.0</version>
             <scope>provided</scope>
         </dependency>
         <!-- 
https://mvnrepository.com/artifact/jakarta.platform/jakarta.jakartaee-web-api -->
         <dependency>
             <groupId>jakarta.platform</groupId>
             <artifactId>jakarta.jakartaee-web-api</artifactId>
             <version>10.0.0</version>
             <scope>provided</scope>
         </dependency>
             <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <version>6.0.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.glassfish.web</groupId>
             <artifactId>jakarta.servlet.jsp.jstl</artifactId>
             <version>3.0.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
         <groupId>jakarta.el</groupId>
         <artifactId>jakarta.el-api</artifactId>
         <version>5.0.0</version>
         <scope>provided</scope>
     </dependency>
I have even attached the jar - jakarta.servlet.jsp.jstl-3.0.1.jar
jakarta.servlet.jsp.jstl-api-3.0.0.jarto the lib folder.
Java 17, Eclipse on Windows 10.
I am not sure how to tackle this problem, as I need to get an assignment 
done.Would appreciate advice from this group.Tks.

Your POM shows both jstl artifacts as "provided" meaning they won't be downloaded and bundled into your application. I think you actually need to allow those to be downloaded as they are not provided by Tomcat (I think! I'm no JSTL expert).

But Tomcat definitely ships with a copy of jakarta.servlet.jsp.JspFactory so if you are adding a JAR which contains that class, you are likely causing a conflict.

Tomcat really should be prohibiting that class from being provided by an application, but maybe you have put it somewhere that is confusing the JVM.

Which lib/ folder did you put those JARs into?

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to