java.lang.NoClassDefFoundError - PullRequest
       14

java.lang.NoClassDefFoundError

0 голосов
/ 09 января 2011

Все работало просто отлично, но теперь я больше не могу запускать свое приложение.По какой-то причине javax. * Еще не найден в Eclipse, импорт в порядке ...

exception 

javax.servlet.ServletException: Error allocating a servlet instance
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 java.lang.Thread.run(Thread.java:619)


root cause 

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
 java.lang.ClassLoader.defineClass1(Native Method)
 java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
 java.lang.ClassLoader.defineClass(ClassLoader.java:616)
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 java.security.AccessController.doPrivileged(Native Method)
 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1560)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 java.lang.Thread.run(Thread.java:619)


root cause 

java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
 java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 java.security.AccessController.doPrivileged(Native Method)
 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 java.lang.ClassLoader.defineClass1(Native Method)
 java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
 java.lang.ClassLoader.defineClass(ClassLoader.java:616)
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 java.security.AccessController.doPrivileged(Native Method)
 java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1560)
 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 java.lang.Thread.run(Thread.java:619)

Ответы [ 3 ]

1 голос
/ 09 января 2011

У вас обычно есть servlet-api.jar в библиотеке Apache Tomcat «Server Runtime».

Когда вы определяете Server Runtime в Elcipse, эта библиотека определяется и будет содержать ссылку на servet-api.jar в Tomcat.

При создании динамического веб-проекта эта библиотека должна быть определена в Java Build Path.Проверьте, имеет ли ваш проект этот путь сборки.

0 голосов
/ 22 февраля 2011

просто скопируйте jar servlet-api и вставьте в папку lib вашего webapps. а затем выберите ваш проект в eclipse -> щелчок правой кнопкой мыши -> свойства -> путь сборки Java -> выберите вкладку "упорядочить и экспортировать" -> выберите все -> закончить.

Теперь просто запустите ваше приложение, используя Eclipse. Я надеюсь, что это будет работать нормально. еще проблема есть, тогда скажи мне, я скажу тебе другое решение

0 голосов
/ 09 января 2011

Добавьте servlet-api.jar к пути к классам проекта. Контейнеры сервлетов имеют этот jar в комплекте, поэтому нет необходимости добавлять его в lib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...