Tomcat启动(web.xml)问题

我正在使用带有eclipse web工具的Tomcat 6来发布应用程序。 当我部署j2ee应用程序时,我通过tomcat日志收到此错误:

Feb 18, 2010 9:50:33 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;Pñ Feb 18, 2010 9:50:33 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 443 ms Feb 18, 2010 9:50:33 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Feb 18, 2010 9:50:33 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.24 Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor aramark-optima.xml Feb 18, 2010 9:50:33 PM org.apache.tomcat.util.digester.Digester endElement SEVERE: End event threw exception java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.IntrospectionUtils.convert(IntrospectionUtils.java:1005) at org.apache.tomcat.util.digester.CallMethodRule.end(CallMethodRule.java:523) at org.apache.tomcat.util.digester.Rule.end(Rule.java:229) at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1138) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642) at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1072) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4377) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:593) 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) Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.ContextConfig applicationWebConfig SEVERE: Parse error in application web.xml file at jndi:/localhost/aramark-optima/WEB-INF/web.xml java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806) at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832) at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642) at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1072) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4377) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 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:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:593) 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) Caused by: java.lang.IllegalArgumentException: Can't convert argument: null at org.apache.tomcat.util.IntrospectionUtils.convert(IntrospectionUtils.java:1005) at org.apache.tomcat.util.digester.CallMethodRule.end(CallMethodRule.java:523) at org.apache.tomcat.util.digester.Rule.end(Rule.java:229) at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1138) ... 38 more Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.ContextConfig applicationWebConfig SEVERE: Occurred at line 8 column 19 Feb 18, 2010 9:50:33 PM org.apache.catalina.startup.ContextConfig start SEVERE: Marking this application unavailable due to previous error(s) log4j:WARN No appenders could be found for logger (org.objectweb.jotm). log4j:WARN Please initialize the log4j system properly. Feb 18, 2010 9:50:34 PM org.apache.catalina.core.StandardContext start SEVERE: Error getConfigured Feb 18, 2010 9:50:34 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/aramark-optima] startup failed due to previous errors Feb 18, 2010 9:50:34 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [JotmBatch] but has failed to stop it. This is very likely to create a memory leak. Feb 18, 2010 9:50:34 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: A web application appears to have started a thread named [JotmClock] but has failed to stop it. This is very likely to create a memory leak. 

这导致我进入web.xml文件 – 显然正在解析问题。 但是,在检查web.xml时,我没有看到任何错误。

这是web.xml:

    BlazeDS BlazeDS Application  f2as.library.file /WEB-INF/f2as/user_classes/dto_formulas_complib.swc   f2as.library.root com.theriabook.controls.superGridClasses.FormulaBase   mxmlc.configuration.file /WEB-INF/f2as/mxmlc-flex-config.xml   f2as.configuration.file /WEB-INF/f2as/flex-config.xml   f2as.class.path /WEB-INF/f2as/jars   flex.class.path /WEB-INF/flex/hotfixes,/WEB-INF/flex/jars   flex.messaging.HttpFlexSession   MessageBrokerServlet MessageBrokerServlet flex.messaging.MessageBrokerServlet  services.configuration.file /WEB-INF/flex/services-config.xml  1   PdfStreamServlet com.farata.pdf.StreamPdf   PageReqServlet com.farata.pdf.PageRequesterServlet   fileupload fileupload com.aramark.upload.FileUploadServlet   filedownload filedownload com.aramark.upload.FileDownloadServlet   PdfStreamServlet *.ppdf   PageReqServlet *.print   MessageBrokerServlet /messagebroker/*   fileupload /fileupload/*   filedownload /download/*   demo3.html index.htm   clearbi-compiler-invocation-interceptor com.cti.compiler.env.web.CompilerInvocationInterceptor   clearbi-compiler-invocation-interceptor MessageBrokerServlet   air application/vnd.adobe.air-application-installer-package+zip   CrystalReportViewerServlet com.crystaldecisions.report.web.viewer.CrystalReportViewerServlet   CrystalReportViewerServlet /CrystalReportViewerHandler   crystal_image_uri /crystalreportviewers   crystal_image_use_relative webapp   

  1. 将初始行“

      
  2. 在整个文件中,删除任何“javaee:”前缀。

我遇到了同样的问题,我想我们都从同一个源复制了web.xml文件。 我不记得是什么来源,它对我有用,直到现在,我不知道发生了什么变化。

当大家提到web.xml的一个问题时,当你在Eclipse IDE中更新“用户库”时,web.xml会更新,即在下载相应的库jar之后,它会默认更新web.xml。

您需要立即恢复您的web.xml,否则您将收到此错误。

这是你的问题:

严重:在jndi的应用程序web.xml文件中解析错误:/localhost/aramark-optima/WEB-INF/web.xml

这不是有效的JNDI查找。 这拼写在哪里?

重命名项目时我也遇到了这个错误(eclipse完全改变了web.xml文件)。 通过恢复修复它。