liferay 6.1.1中的xml-parsing错误

dmi*_*ony 6 xml liferay

我尝试在liferay 6.1.1上部署我的应用程序并得到此错误(当我在6.0.6上测试此应用程序时一切正常).这是什么意思?

引起:com.liferay.portal.kernel.xml.DocumentException:文档第1行出错:XML声明中"version"后面的值必须是带引号的字符串.嵌套异常:XML声明中"version"后面的值必须是带引号的字符串.

up:我不知道哪个文件出现此错误.完整日志

我不知道哪个文件出现此错误...所有日志[#| 2012-08-09T15:12:20.322 + 0400 | INFO | glassfish3.1.2 | javax.enterprise.system.std.com.sun.enterprise. server.logging | _ThreadID = 17; _ThreadName = Thread-3; | 15:12:20,321 ERROR [com.liferay.portal.kernel.deploy.auto.AutoDeployScanner] [AutoDeployDir:210] com.liferay.portal.kernel.deploy .auto.AutoDeployException:com.liferay.portal.kernel.xml.DocumentException:文档第1行出错:XML声明中"version"后面的值必须是带引号的字符串.嵌套异常:XML声明中"version"后面的值必须是带引号的字符串.com.liferay.portal.kernel.deploy.auto.AutoDeployException:com.liferay.portal.kernel.xml.DocumentException:文档第1行出错:XML声明中"version"后面的值必须是带引号的字符串.嵌套异常:XML声明中"version"后面的值必须是带引号的字符串.在com.liferay.portal.tools.deploy.BaseDeployer.autoDeploy(BaseDeployer.java:201)在com.liferay.portal.deploy.auto.PortletAutoDeployListener.deploy(PortletAutoDeployListener.java:84)在com.liferay.portal.kernel .deploy.auto.AutoDeployDir.processFile(AutoDeployDir.java:193)在com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory(AutoDeployDir.java:235)在com.liferay.portal.kernel.deploy.auto .AutoDeployScanner.run(AutoDeployScanner.java:54)引起:com.liferay.portal.kernel.xml.DocumentException:文档第1行出错:XML声明中"version"后面的值必须是带引号的字符串.嵌套异常:XML声明中"version"后面的值必须是带引号的字符串.在com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:399)在com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java:378)在com.liferay.portal.xml.SAXReaderImpl.read (SAXReaderImpl.java:409)在com.liferay.portal.kernel.xml.SAXReaderUtil.read(SAXReaderUtil.java:155)在com.liferay.portal.tools.WebXMLBuilder.organizeWebXML(WebXMLBuilder.java:60)在COM. liferay.portal.tools.deploy.BaseDeployer.updateWebXml(BaseDeployer.java:2078)在com.liferay.portal.tools.deploy.BaseDeployer.deployDirectory(BaseDeployer.java:576)在com.liferay.portal.tools.deploy. BaseDeployer.deployFile(BaseDeployer.java:957)在com.liferay.portal.tools.deploy.BaseDeployer.deployFile(BaseDeployer.java:889)在com.liferay.portal.tools.deploy.BaseDeployer.autoDeploy(BaseDeployer.java: 198)... 4更多引起:org.dom4j.DocumentException:文档第1行出错:XML声明中"version"后面的值必须是带引号的字符串.嵌套异常:XML声明中"version"后面的值必须是带引号的字符串.在org.dom4j.io.SAXReader.read(SAXReader.java:482)org.dom4j.io.SAXReader.read(SAXReader.java:365)at com.liferay.portal.xml.SAXReaderImpl.read(SAXReaderImpl.java) :396)... 13更多|#]

小智 8

问题可能出在您的web.xml文件中.我有一个类似的问题,一个portlet在6.1GA1下工作正常但不是6.1GA2.当Liferay部署portlet(和钩子等)时,它会重写文件和其他文件以添加过滤器,库等.因此,错误可能不是您最初创建它时的文件,而是Liferay生成的文件.

就我而言,Liferay改变了web.xml的第一部分

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Run Code Online (Sandbox Code Playgroud)

喜欢的东西

<?xml version=<filters>[other stuff]</filters>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Run Code Online (Sandbox Code Playgroud)

所以这是一个修改过的第一行导致了这个问题.我有一些XML注释掉使用<!-- -->和删除这些部分修复了问题.但这是一个错误恕我直言.

  • 我遇到了同样的问题并且你的解决方法有效,但它确实是一个Liferay错误,所以我继续为它创建了一个问题:http://issues.liferay.com/browse/LPS-29373 (4认同)