When launched on an Eclipse server - Tomcat - java.lang.NoClassDefFoundError: javax / servlet / ServletConfig

I have been struggling all day with this: I have a DynamicWebProject. It worked fine. But at some point, I decided to clear an additional can that was not used in the project. After my cleaning, I have a lot of mistakes. Therefore, I roll back all my changes (I mean that I reconfigured all the banks). But I also played with the Build Path project, Eclipse, from the Debug configuration. Unfortunately, I do not remember these changes (with Path material). And when I run both on the server, tomcat shows me this:

`

04.12.2012 16:37:43 org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: javax/servlet/ServletConfig at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:103) at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 04.12.2012 16:37:43 org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /library threw load() exception java.lang.NoClassDefFoundError: javax/servlet/ServletConfig at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:103) at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 04.12.2012 16:37:43 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 04.12.2012 16:37:43 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 04.12.2012 16:37:43 org.apache.catalina.startup.Catalina start INFO: Server startup in 3556 ms 

`

I am truly attached to this endless battle. What am I doing wrong? What are Ellipse and Tomcat trying to tell me?


Done.

So. How to restore functionality. First of all, my project was a backup in the SVN repository. Then I create a new workspace in Eclipse. new workspace in another folder. And the Checkout project from SVN. After that, at the step - on the server, I caught errors and added the missing libraries (banks) one by one. And hey, it works! So, as I thought, the problem lies in the configuration of eclipce and the project, as well as in the Run / Debug configuration. How to find errors in the configuration, I do not know :(, but I will try in the old workspace.

+6
source share
2 answers

You are missing servlet-api.jar in your class path. Check it out

UPDATED

 1) Right click on project 2) Got to java build path 3) Click on add library in right hand side. 4) Choose server run time. 5) Click next and select your tom cat server. 6) Click on finish. 

enter image description here

Then try again

+8
source

Go to the Java Build Path , go to Libraries , click Add Library , select Server Runtime , click Next , select your web server and click Finish. Clean and expand to see if it works.

+1
source

All Articles