I experimented with a bunch of things to see what worked better and using the jboss4.2 build target for the facelets version of component-showcase, these are my findings:-
1) the default target and war does (eventually) deploy, but it takes about 3 to 4 minutes before these libraries can be unzipped from the war package:-
10:34:18,627 INFO [STDOUT] --> Setting jsf state saving to : false
10:34:25,861 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-comps.jar/META-INF/facelet/icefaces.taglib.xml
10:34:25,892 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/META-INF/jsf-core.taglib.xml
10:34:25,908 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/META-INF/jsf-html.taglib.xml
10:34:25,970 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/META-INF/jsf-ui.taglib.xml
10:34:26,002 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/META-INF/jstl-core.taglib.xml
10:34:26,017 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/META-INF/jstl-fn.taglib.xml
10:34:26,033 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/etc/META-INF/jsf-core.taglib.xml
10:34:26,049 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/etc/META-INF/jsf-html.taglib.xml
10:34:26,064 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/etc/META-INF/jsf-ui.taglib.xml
10:34:26,080 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/etc/META-INF/jstl-core.taglib.xml
10:34:26,095 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/etc/META-INF/jstl-fn.taglib.xml
10:34:26,111 INFO [compiler] Added Library from: vfszip:/C:/Servers/jboss-5.0.0.CR2/server/default/deploy/component-showcase.war/WEB-INF/lib/icefaces-facelets.jar/src/test/META-INF/enverio.taglib.xml
2) Same as for a deployed ear (problems unzipping).
3) tried exploded version and met with much better success (typical of jboss-4.2.2 and 4.2.3.GA) So...my recommendation is to use exploded deployments. Instead of putting the war and exploded folder in the dist folder, the dist folder should only contain the archived war and the exploded folder should be called component-showcase.war and only contain the exploded project (to be copied into server\default\deploy of the jboss-5.0.0.CR2 directory).
I did a quick version of the build.xml file (see below) for samples/component-showcase/facelets and am attaching it here. I looked at the common build but I didn't want to take them time to go through it since there are others more familiar with it than me (and there are multiple dist directories in there).
Judy.
Just use this build.xml for the facelets version of component-showcase:-
<!--
~ Version: MPL 1.1/GPL 2.0/LGPL 2.1
~
~ "The contents of this file are subject to the Mozilla Public License
~ Version 1.1 (the "License"); you may not use this file except in
~ compliance with the License. You may obtain a copy of the License at
~ http://www.mozilla.org/MPL/
~
~ Software distributed under the License is distributed on an "AS IS"
~ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
~ License for the specific language governing rights and limitations under
~ the License.
~
~ The Original Code is ICEfaces 1.5 open source software code, released
~ November 5, 2006. The Initial Developer of the Original Code is ICEsoft
~ Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
~ 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
~
~ Contributor(s): _____________________.
~
~ Alternatively, the contents of this file may be used under the terms of
~ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
~ License), in which case the provisions of the LGPL License are
~ applicable instead of those above. If you wish to allow use of your
~ version of this file only under the terms of the LGPL License and not to
~ allow others to use your version of this file under the MPL, indicate
~ your decision by deleting the provisions above and replace them with
~ the notice and other provisions required by the LGPL License. If you do
~ not delete the provisions above, a recipient may use your version of
~ this file under either the MPL or the LGPL License."
~
-->
<project name="component-showcase" default="tomcat6.0">
<property file="build.properties"/>
<property name="common.build.file" location="../../etc/build-common.xml"/>
<property name="component.docs.dir" location="../../../component/doc"/>
<property name="component.tld.dir" location="../../../component/build/doc/tld" />
<property name="exploded.dir" location="exploded"/>
<import file="$
{common.build.file}
"/>
<!-- common library includes-->
<property name="proj.war.lib.dir" location="../lib/"/>
<patternset id="additional.icefaces.lib.jars.to.include"
includes="
krysalis-jCharts-1.0.0-alpha-1.jar
"
/>
<patternset id="additional.compile.lib.jars"
includes="
servlet-api.jar
"
/>
<!-- jars needed for form Facelets -->
<patternset id="faclets.jars"
includes="
icefaces-facelets.jar
el-ri.jar
"
/>
<!-- jars needed for jaxb-->
<patternset id="jaxb.jars"
includes="
activation.jar
jaxb-api.jar
jaxb-impl.jar
jaxb-xjc.jar
jaxb1-impl.jar
"
/>
<target name="clean" depends="common.clean">
<delete dir="$
{web.content.dir}/docs"/>
</target>
<target name="compile">
<compile src.copy.excludes="*
/.java">
<add.javac.elements>
<src location="../common-src"/>
<classpath>
<fileset dir="${proj.war.lib.dir}" includes="*.jar"/>
</classpath>
</add.javac.elements>
</compile>
</target>
<target name="build.war" depends="compile">
<!--
<copy todir="${web.content.dir}
/docs" preservelastmodified="true">
<fileset dir="$
{component.docs.dir}
"/>
</copy>
<copy todir="$
{web.content.dir}
/docs/tld" preservelastmodified="true">
<fileset dir="$
{component.tld.dir}
"/>
</copy>
-->
<copy todir="$
{app.lib.dir}
" preservelastmodified="true">
<fileset dir="$
{icefaces.lib.dir}
">
<patternset refid="faclets.jars"/>
</fileset>
<!--<fileset dir="$
{proj.war.lib.dir}
" includes="*.jar"/>-->
</copy>
<build.war web.xml="./web/WEB-INF/web.xml">
<add.filesets>
<fileset dir="../common-web"/>
<zipfileset prefix="WEB-INF/classes" dir="../common-src" />
</add.filesets>
</build.war>
<unwar src="$
{dist.dir}
/$
{ant.project.name}.war" dest="${exploded.dir}/${ant.project.name}
.war"/>
</target>
</project>
We do not have a build target for JBoss5 server. When tried to test it with jboss4.2 target got following errors:
13:42:37,793 ERROR [JspPageToDocument] Can't find TLD for location http://java.sun.com/jsf/core. JAR containing the TLD may not be in the classpath
13:42:38,309 ERROR [JspPageToDocument] Can't find TLD for location http://java.sun.com/jsf/html. JAR containing the TLD may not be in the classpath
2008-10-27 13:42:49,496 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/component-showcase].[Persistent Faces Servlet]] (http-127.0.0.1-8080-1) Servlet.service() for servlet Persistent Faces Servlet threw exception
javax.faces.FacesException: Can't parse stream for /showcase.jspx Failed to execute JSP lifecycle.
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:533)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:165)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:17)
at com.icesoft.faces.context.View$2$1.respond(View.java:40)
Caused by: javax.faces.FacesException: Failed to execute JSP lifecycle.
at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:181)
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:527)
... 39 more
Caused by: java.lang.IllegalStateException: ICEfaces parser unable to determine JSF implementation ViewTag class.
at com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:154)
... 40 more
2008-10-27 13:42:56,762 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Thread-12) Periodic recovery - second pass <Mon, 27 Oct 2008 13:42:56>
2008-10-27 13:42:56,762 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] (Thread-12) AtomicActionRecoveryModule: Second pass
2008-10-27 13:42:56,762 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] (Thread-12) [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass
2008-10-27 13:42:56,762 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] (Thread-12) [com.arjuna.ats.internal.jta.recovery.info.secondpass] Local XARecoveryModule - second pass