I tried running Apache Tomcat Server on Eclipse and got into the following problems:
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
I managed to solve the above 3 problems by doing the following steps:
1- Double click your server (tomcat in this case) [if you can't see it go to Windows -> Show/View -> Other -> Server -> Servers]. Your server name will look something like:
"Tomcat v7.0 Server at localhost".
Double click the server and make sure the Server Locations is set to :
"Use Tomcat installation (takes control of Tomcat installation)".
If you can't edit the servers location:
Stop the server, right-click the server and select Publish.
If still you cant edit it:
Right click the server --> Add and Remove and remove your project then publish it again.
The reason for selecting "Use Tomcat installation" is that Catalina_Base will point to a temporary location and will look something like:
"-Dcatalina.base="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1"
This will cause a 404 Error even when trying to open Apache Tomcat Start Page. When selecting "Use Tomcat Installation" the Catalina_Home and Catalina_Base values will be the same and both will point to the Tomcat Installation Directory: Example:
-Dcatalina.base="C:\apache-tomcat-7.0.37" -Dcatalina.home="C:\apache-tomcat-7.0.37"
To see the Arguments:
Double Click the Server then click on "Open launch configuration", the values will appear in the "Arguments" tab.
2- When using dependencies (ex External Jar files), make sure the files are in : Web-Inf/lib and then add them to the class-path by doing the following:
Right-click the project --> Build-path --> Configure Build Path Select the "Libraries" tab Click Add External JARs and select the jar files in Web-Inf/lib
Next you need to deploy dependencies: To do this:
Right-Click the project -> Properties From the left side select "Deployment Assembly" On the right hand side click Add -> Java Build Path Entries -> Next Add all the jar files your project needs.
Otherwise, you'll get a class not found exception for the used jar files.
3- Make sure Web-Inf/lib does not contain any jar files from Apache Tomcat, as this will cause redundancies and will give the exception above!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With