#java #tomcat #jakarta-ee #webserver
#java — язык #кот #джакарта-ee #веб-сервер #java #tomcat
Вопрос:
Я скопировал приложение с сервера, затем развернул на Tomcat6 (то же, что и сервер), но я всегда получаю ошибку! Я попытался переустановить Tomcat, но ошибка все та же.
ошибка 1:
2011-4-12 21:36:16 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2011-4-12 21:36:16 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2011-4-12 21:36:21 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet AdminServlet as unavailable
2011-4-12 21:36:21 org.apache.catalina.core.ApplicationContext log
严重: Error loading WebappClassLoader
context: /portal
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@1eed786
org.apache.axis.transport.http.AdminServlet
java.lang.ClassNotFoundException: org.apache.axis.transport.http.AdminServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4387)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4700)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:701)
at org.apache.catalina.startup.Catalina.start(Catalina.java:585)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-4-12 21:36:21 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /portal threw load() exception
java.lang.ClassNotFoundException: org.apache.axis.transport.http.AdminServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4387)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4700)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:701)
at org.apache.catalina.startup.Catalina.start(Catalina.java:585)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-4-12 21:36:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: org.jdom.input.SAXBuilder
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
at pde.ams.AmsGlobals.loadProperties(AmsGlobals.java:82)
at pde.ams.AmsGlobals.getAmsPropertys(AmsGlobals.java:47)
at pde.ams.AmsEngine.initialize(AmsEngine.java:77)
at pde.ams.AmsEngine.<init>(AmsEngine.java:61)
at pde.ams.AmsEngine.getInstance(AmsEngine.java:45)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at pde.ams.filters.AmsFilter.doFilter(AmsFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
2011-4-12 21:37:07 org.apache.catalina.core.StandardContext listenerStop
ошибка 2:
严重: Exception sending context destroyed event to listener instance of class pde.ams.ContextListener
java.lang.NullPointerException
at pde.ams.ContextListener.contextDestroyed(ContextListener.java:15)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4211)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4846)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:932)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1319)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1290)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:323)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1094)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1106)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:468)
at org.apache.catalina.core.StandardService.stop(StandardService.java:604)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:735)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:652)
at org.apache.catalina.startup.Catalina.start(Catalina.java:619)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-4-12 21:37:07 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextDestroyed()
2011-4-12 21:37:07 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextDestroyed()
desc:there are the classes that could not found by tomcat still in the path /web_inf/lib
Вопрос1: Что с ним не так?
Вопрос2: Есть ли какая-либо связь между ошибкой1 и ошибкой2?
хорошо, это трассировка стека compete
Комментарии:
1. Когда вы копировали приложение, вы удаляли исходные тексты, созданные какими-либо
.jsp
страницами? Скорее всего, они ссылаются на классы, которые не существуют, если на сервере не запущен tomcat.
Ответ №1:
Вопрос1: Что с ним не так?
Первая ошибка выглядит как ошибка в веб-приложении или его конфигурации. Tomcat сообщает, что что-то (например, один из сервлетов) не выполняется корректно при завершении работы веб-приложения. Если это не исправить, на вашем веб-сервере может закончиться память после нескольких перезапусков веб-приложения.
Вторая ошибка заключается в жалобе на то, что какой-то класс не может быть найден. Вероятно, это какая-то ошибка конфигурации веб-сервера или веб-приложения.
В обоих случаях было бы полезно, если бы вы показали нам полные трассировки стека.
Вопрос2: Есть ли какая-либо связь между ошибками 1 и ошибки2?
Вероятно, нет.
Немного покопавшись, я понял, что вы, скорее всего, найдете org.apache.axis.transport.http.AdminServlet
в файле JAR с именем axis-x.y.jar
или что-то в этом роде (см. http://findjar.com/class/org/apache/axis/transport/http/AdminServlet.html для получения полного списка)
Для org.jdom.input.SAXBuilder
поиска файла, подобного jdom-x.y.jar
(см. http://findjar.com/class/org/jdom/input/SAXBuilder.html для получения полного списка)
Вторая ошибка отличается от ошибки, о которой вы первоначально сообщили, но это все еще ошибка в веб-приложении. Это может быть следствием вашей первой ошибки; т. Е. предполагается, что сервлет запущен правильно.
Вам нужно взглянуть на ваше веб-приложение, установленное на Tomcat, и посмотреть, находятся ли банки Axis и JDOM в WEB-INF / lib. Если нет, вернитесь на сервер, с которого вы скопировали веб-приложение, и посмотрите веб-приложение там… и в области общей библиотеки сервера. (Вы не говорите, с какого сервера вы копируете …)
Комментарии:
1. спасибо, я снова редактирую вопрос, показываю полные трассировки стека, я все еще не могу решить проблему.
2. большое вам спасибо! я нашел причину только потому, что jar в библиотеке сломан! возможно, что-то не так, когда я копирую jar в myeclipse webapp. когда я переключаюсь на пользовательский netbeans, он сообщает, что файл jar поврежден. большое вам спасибо.