0

Deploy page as portlet shows: SEVERE: Parse error in application web.xml file

asked 2012-07-20 03:15:24 +0800

zettai gravatar image zettai
15

Hi All,

Not sure if I should be posting this here or in a liferay forum but here goes...

I have completed the tutorial found here:
http://www.comtecsf.es/index.php/home/1-noticias/65-how-to-develop-a-zkoss-spring-hibernate-portlet-for-liferay-from-scratch-i

But when I attempt to drop the war file in the deploy directory I get the following error:

20/07/2012 2:03:58 AM org.apache.catalina.startup.ContextConfig parseWebXml
SEVERE: Parse error in application web.xml file at jndi:/localhost/zksampleportlet/WEB-INF/web.xml
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
	at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687)
	at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719)
	at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1054)
	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:1782)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
	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:511)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
	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:119)
	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:1537)
	at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1742)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1174)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:828)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:302)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5148)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
	at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:848)
	at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
	at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1051)
	... 30 more
20/07/2012 2:03:58 AM org.apache.catalina.startup.ContextConfig parseWebXml
SEVERE: Occurred at line 13 column 11
20/07/2012 2:03:58 AM org.apache.catalina.startup.ContextConfig configureStart
SEVERE: Marking this application unavailable due to previous error(s)
20/07/2012 2:03:58 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error getConfigured
20/07/2012 2:03:58 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context  startup failed due to previous errors
20/07/2012 2:03:58 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application  appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.

My web.xml file appears as follows but doesn't have the addFilter call it complains about:

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

	<description><![CDATA[My ZK Application]]></description>
	<display-name>zksampleportlet</display-name>

	<!-- //// -->
	<!-- ZK -->
	<listener>
		<description>ZK listener for session cleanup</description>
		<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
	</listener>
	<servlet>
		<description>ZK loader for ZUML pages</description>
		<servlet-name>zkLoader</servlet-name>
		<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>

		<!-- Must. Specifies URI of the update engine (DHtmlUpdateServlet).
		It must be the same as <url-pattern> for the update engine.
		-->
		<init-param>
			<param-name>update-uri</param-name>
			<param-value>/zkau</param-value>
		</init-param>
		<!-- Optional. Specifies whether to compress the output
		of the ZK loader. It speeds up the transmission over slow Internet.
		However, if you configure a filter to post-processing the
		output, you might have to disable it.

		Default: true
		<init-param>
			<param-name>compress</param-name>
			<param-value>true</param-value>
		</init-param>
		-->
		<!--  Specifies the default log level: OFF, ERROR, WARNING,
			INFO, DEBUG and FINER. If not specified, the system default is used.
		<init-param>
			<param-name>log-level</param-name>
			<param-value>OFF</param-value>
		</init-param>
		-->
		<load-on-startup>1</load-on-startup><!-- Must -->
	</servlet>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zul</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zhtml</url-pattern>
	</servlet-mapping>
	<!--  Uncomment it if you want to use richlets.
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>/zk/*</url-pattern>
	</servlet-mapping>
	-->
	<servlet>
		<description>The asynchronous update engine for ZK</description>
		<servlet-name>auEngine</servlet-name>
		<servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>

		<!--  Specifies whether to compress the output
		of the ZK loader. It speeds up the transmission over slow Internet.
		However, if your server will do the compression, you might have to disable it.

		Default: true
		<init-param>
			<param-name>compress</param-name>
			<param-value>true</param-value>
		</init-param>
		-->
		<!--  Specifies the AU extension for particular prefix.
		<init-param>
			<param-name>extension0</param-name>
			<param-value>/upload=com.my.MyUploader</param-value>
		</init-param>
		-->
	</servlet>
	<servlet-mapping>
		<servlet-name>auEngine</servlet-name>
		<url-pattern>/zkau/*</url-pattern>
	</servlet-mapping>

	<!-- 
	Uncomment if you want to use the ZK filter to post process the HTML output
	generated by other technology, such as JSP and velocity.
	<filter>
		<filter-name>zkFilter</filter-name>
		<filter-class>org.zkoss.zk.ui.http.DHtmlLayoutFilter</filter-class>
		<init-param>
			<param-name>extension</param-name>
			<param-value>html</param-value>
		</init-param>
		<init-param>
			<param-name>compress</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>zkFilter</filter-name>
		<url-pattern>your URI pattern</url-pattern>
	</filter-mapping>
	-->
	<!-- //// -->

	<!-- ///////////// -->
	<!-- DSP (optional) 
	Uncomment it if you want to use DSP
	However, it is turned on since zksandbox uses DSP to generate CSS.
	<servlet>
		<servlet-name>dspLoader</servlet-name>
		<servlet-class>org.zkoss.web.servlet.dsp.InterpreterServlet</servlet-class>
		<init-param>
			<param-name>class-resource</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dspLoader</servlet-name>
		<url-pattern>*.dsp</url-pattern>
	</servlet-mapping>
	-->
	
	<!-- /////////// -->
	<!--  Session timeout -->
	<session-config>
		<session-timeout>60</session-timeout>
	</session-config>

	<!--  MIME mapping -->
	<mime-mapping>
		<extension>doc</extension>
		<mime-type>application/vnd.ms-word</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>gif</extension>
		<mime-type>image/gif</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>htm</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>html</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>jpeg</extension>
		<mime-type>image/jpeg</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>jpg</extension>
		<mime-type>image/jpeg</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>js</extension>
		<mime-type>text/javascript</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>pdf</extension>
		<mime-type>application/pdf</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>png</extension>
		<mime-type>image/png</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>txt</extension>
		<mime-type>text/plain</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>xls</extension>
		<mime-type>application/vnd.ms-excel</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>xml</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>zhtml</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>zul</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>

	<welcome-file-list>
		<welcome-file>index.zul</welcome-file>
		<welcome-file>index.zhtml</welcome-file>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
	</welcome-file-list>
</web-app>

Does anyone have an idea how to resolve this error?

delete flag offensive retag edit
Be the first one to reply this discussion!
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2012-07-20 03:15:24 +0800

Seen: 657 times

Last updated: Jul 20 '12

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More