加载Portlet的一个错误
05:04:48,388 INFO [deploy.hot.PluginPackageHotDeployListener] Reading plugin package for avlabuserlog
05:04:48,388 WARN [deploy.hot.PluginPackageHotDeployListener] Plugin package on context avlabuserlog cannot be tracked because this WAR does
not contain a liferay-plugin-package.xml file
05:04:48,389 INFO [deploy.hot.PluginPackageHotDeployListener] Plugin package avlabuserlog/avlabuserlog/unknown/war registered successfully
05:04:48,393 INFO [deploy.hot.PortletHotDeployListener] Registering portlets for avlabuserlog
05:04:48,970 ERROR [service.impl.PortletLocalServiceImpl] org.dom4j.DocumentException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dt
d Nested exception: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd
org.dom4j.DocumentException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd Nested exception: http://www.liferay.com/dtd/liferay-por
tlet-app_4_0_0.dtd
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
.....
Nested exception:
java.io.FileNotFoundException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
其原因是,开发的Portlet的配置文件如:liferay-display.xml都定义了
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd">
Liferay在加载Portlet时,会去网站上下载该dtd文件,而当Liferay网站变动时,目前为:
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.3.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_3_0.dtd">
就会错误!
方法:
1、修改目前网站提供的dtd
2、去除也可以
05:04:48,388 INFO [deploy.hot.PluginPackageHotDeployListener] Reading plugin package for avlabuserlog
05:04:48,388 WARN [deploy.hot.PluginPackageHotDeployListener] Plugin package on context avlabuserlog cannot be tracked because this WAR does
not contain a liferay-plugin-package.xml file
05:04:48,389 INFO [deploy.hot.PluginPackageHotDeployListener] Plugin package avlabuserlog/avlabuserlog/unknown/war registered successfully
05:04:48,393 INFO [deploy.hot.PortletHotDeployListener] Registering portlets for avlabuserlog
05:04:48,970 ERROR [service.impl.PortletLocalServiceImpl] org.dom4j.DocumentException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dt
d Nested exception: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd
org.dom4j.DocumentException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd Nested exception: http://www.liferay.com/dtd/liferay-por
tlet-app_4_0_0.dtd
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
.....
Nested exception:
java.io.FileNotFoundException: http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
其原因是,开发的Portlet的配置文件如:liferay-display.xml都定义了
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_0_0.dtd">
Liferay在加载Portlet时,会去网站上下载该dtd文件,而当Liferay网站变动时,目前为:
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 4.3.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_4_3_0.dtd">
就会错误!
方法:
1、修改目前网站提供的dtd
2、去除也可以