2012-08-09 12 views
6

Intento implementar mi aplicación en liferay 6.1.1 y obtener este error (cuando probé esta aplicación en 6.0.6 todo está bien). ¿Qué puede significar?xml-error de análisis en liferay 6.1.1

causada por: com.liferay.portal.kernel.xml.DocumentException: Error en la línea 1 del documento: El valor que sigue "versión" en la declaración XML debe ser una cadena entre comillas. Excepción anidada: El valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada.

up: No sé qué archivo da este error. registro completo

No sé qué archivo dando este error ... Todo ingrese [# | 2012-08-09T15: 12: 20.322 + 0.400 | 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: Error en la línea 1 del documento: El valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada . Excepción anidada: el valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada. com.liferay.portal.kernel.deploy.auto.AutoDeployException: com.liferay.portal.kernel.xml.DocumentException: Error en la línea 1 del documento: El valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada. Excepción anidada: el valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada. en com.liferay.portal.tools.deploy.BaseDeployer.autoDeploy (BaseDeployer.java:201) en com.liferay.portal.deploy.auto.PortletAutoDeployListener.deploy (PortletAutoDeployListener.java:84) en com.liferay. portal.kernel.deploy.auto.AutoDeployDir.processFile (AutoDeployDir.java:193) en com.liferay.portal.kernel.deploy.auto.AutoDeployDir.scanDirectory (AutoDeployDir.java:235) en com.liferay.portal. kernel.deploy.auto.AutoDeployScanner.run (AutoDeployScanner.java:54) Causado por: com.liferay.portal.kernel.xml.DocumentException: Error en la línea 1 del documento: El valor que sigue a la "versión" en la declaración XML debe ser una cadena citada. Excepción anidada: el valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada. en com.liferay.portal.xml.SAXReaderImpl.read (SAXReaderImpl.java:399) en com.liferay.portal.xml.SAXReaderImpl.read (SAXReaderImpl.java:378) en com.liferay.portal.xml. SAXReaderImpl.read (SAXReaderImpl.java:409) en com.liferay.portal.kernel.xml.SAXReaderUtil.read (SAXReaderUtil.java:155) en com.liferay.portal.tools.WebXMLBuilder.organizeWebXML (WebXMLBuilder.java: 60) en com.liferay.portal.tools.deploy.BaseDeployer.updateWebXml (BaseDeployer.java:2078) en com.liferay.portal.tools.deploy.BaseDeployer.deployDirectory (BaseDeployer.java:576) en com. liferay.portal.tools.deploy.BaseDeployer.deployFile (BaseDeployer.java:957) en com.liferay.portal.tools.deploy.BaseDeployer.deployFile (BaseDeployer.java:889) en com.liferay.portal.tools.deploy.BaseDeployer.autoDeploy (BaseDeployer.java:198) ... 4 más Causado por: org.dom4j.DocumentException: Error en la línea 1 del documento: El valor que sigue a la "versión "en la declaración XML debe ser una cadena entrecomillada. Excepción anidada: el valor que sigue a "versión" en la declaración XML debe ser una cadena entrecomillada. en org.dom4j.io.SAXReader.read (SAXReader.java:482) en org.dom4j.io.SAXReader.read (SAXReader.java:365) en com.liferay.portal.xml.SAXReaderImpl.read (SAXReaderImpl.java:396) ...13 más | #]

+0

Muéstrenos su web.xml –

+1

¿Tiene algo en su directorio "deploy"? Complementos? ¿Qué versiones son? –

+0

web.xml http://pastebin.com/bsRtCwvy – dmitrievanthony

Respuesta

8

El problema puede ser con su archivo web.xml. Tuve un problema similar con un portlet que funcionó bien en 6.1GA1 pero no en 6.1GA2. Cuando Liferay despliega portlets (y hooks, etc.), reescribe el archivo y otros para agregar filtros, bibliotecas, etc. Por lo tanto, es probable que el error no esté en el archivo como lo creó originalmente, sino con lo que generó Liferay.

En mi caso, Liferay cambió la primera parte de web.xml de

<?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"> 

a algo así como

<?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"> 

Así que fue una primera línea modificado que causó el problema. He comentado XML con el <!-- --> y eliminar esas secciones solucionó el problema. Pero es un error en mi humilde opinión.

+4

Me encontré con el mismo problema y su solución funciona, pero de hecho es un error de Liferay, así que seguí y le creé un problema: http://issues.liferay.com/browse/LPS-29373 – fimez

0

Si sabe qué plug-in (gancho, tema, portlets, etc) que está causando el error, entonces vas a tener que comprobar todos los archivos XML en esa estructura de carpetas y verificación la primera línea y asegurarse de que es:

<?xml version="1.0"?> 

que va a ser una tarea tediosa, pero no mucho más que puede hacer!

Si no sabe qué plugin está causando el error, ¡impleméntelos uno por uno hasta que lo encuentre!

Espero que esto ayude!

+0

find ./ -name "* .xml" -exec head -1 {} \; | versión grep; find ./ -name "* .xhtml" -exec head -1 {} \; | grep versión pero todo está bien, en lib también. – dmitrievanthony

+0

¿Ha intentado volver a crear el portlet utilizando el plugin 6.1.1-SDK? Luego copiando a través de su fuente? – Jonny

1

Preste atención a la etiqueta "display-name" en su web.xml. A veces (y este es mi caso) el complemento Eclipse crea un web.xml usando la etiqueta "j2ee: display-name". Deployer intenta agregar la configuración del bloque de filtro después de la posición de la etiqueta "/ display-name". Cuando "j2ee: display-name" está presente, deployer anexa la configuración del bloque de filtro a una posición incorrecta en el archivo, como el atributo "versión". Reemplazar la etiqueta "j2ee: display-name" con la etiqueta "display-name" resuelve el problema.

Cuestiones relacionadas