【问题标题】:War Deployment error in GrailsGrails 中的战争部署错误
【发布时间】:2012-12-11 07:13:42
【问题描述】:

我正在使用 grails 2.1.1 版本和 tomcat 6.0,而当我部署 war 文件时,我收到如下异常:

2012-12-11 12:20:03,891 [main] ERROR context.ContextLoader  - Context initialization failed
        org.springframework.beans.factory.BeanDefinitionStoreException: Line 4 in XML document from ServletContext resource [/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".
        org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null".

at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
            at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
            at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            at org.apache.xerces.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
            at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
            at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
            at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
            at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:222)
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
            at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)

任何有想法的人都会有很大帮助。

谢谢。

阿纳根德拉

【问题讨论】:

标签: grails tomcat6 war


【解决方案1】:

检查tomcat中是否存在旧版本的Spring库。错误信息

org.xml.sax.SAXParseException:文档根元素“beans”,必须 匹配 DOCTYPE 根“null”。

表示使用的 DTD 与提供的库之间存在某种版本不匹配

【讨论】:

  • 谢谢 Enterlezi ,我清理了整个 Grails ivy-cache 并运行了应用程序。在这种情况下也是相同的结果。你能告诉我 grails 2.1.1 版本的 dtd 和库吗?
  • 并给出错误 INFO: validateJarFile(E:\apache-tomcat-6.0.32-windows-x64\apache-tomcat-6.0.32\webapps\admin\WEB-INF \lib\tomcat-embed-core-7.0.30.jar) - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class。有什么想法吗?
  • 我认为 grails 2.1 有 spring 3.0,所以我认为你的配置应该是 xsi:schemaLocation="springframework.org/schema/beans/spring-beans-3.0.xsd" (现在不能实际测试它)
  • 感谢 enterlezi 。但这也是同样的问题。默认情况下 2.5.xsd 将生成 grails 2,1,1 版本。
  • 它将给出 2012-12-13 17:11:54,263 [localhost-startStop-1] 错误 context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.BeanDefinitionStoreException: Line 5.来自ServletContext资源的XML文档[/WEB-INF/applicationContext.xml]无效;嵌套异常是 org.xml.sax.SAXParseException:文档根元素“beans”,必须匹配 DOCTYPE 根“null”。 org.xml.sax.SAXParseException: 文档根元素“beans”,必须匹配 DOCTYPE 根“null”。 如何将相同版本的 dtd Bean 添加到 xml 文件?有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2013-11-27
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
相关资源
最近更新 更多