[
http://issues.apache.org/jira/browse/MYFACES-1163?page=comments#action_12370535
]
Stan Silvert commented on MYFACES-1163:
---------------------------------------
Dennis,
The error you are seeing is because you are using a different jar name. JBoss
adds a "global TLD" feature to Tomcat. This is a spec-optional feature that
Tomcat standalone doesn't use. We use it in JBoss to define global taglib
definitions for the embedded version of MyFaces. If you look in
deploy\jbossweb-tomcat55.sar\conf\web.xml you will see this:
<!-- Use a custom options class to allow the shared tag lib descriptors
to be loaded from jars in the tomcat sar conf/tlds directory. The
standard options implementation can only find taglibs based on the
class loader classpath.
-->
<init-param>
<param-name>engineOptionsClass</param-name>
<param-value>org.jboss.web.tomcat.tc5.jasper.JspServletOptions</param-value>
</init-param>
<!-- Specify the jars relative to the jbossweb-tomcat55.sar that should
be scanned for common tag lib descriptors to include in every war
deployment.
-->
<init-param>
<description>MyFaces tlds</description>
<param-name>tagLibJar0</param-name>
<param-value>jsf-libs/myfaces-impl.jar</param-value>
</init-param>
So, to get JBoss to find the TLD's you can either change the param-value in
conf/web.xml or you can just rename myfaces-impl-1.1.3-SNAPSHOT.jar to
myfaces-impl.jar.
After that, you will also need to add commons-lang.jar to the jsf-libs
directory because there is a new dependency on that.
Please make those changes and let me know if the Seam demo works. Thanks again
for your help.
Stan
> JBoss classloading fails if myfaces jars installed in tomcat
> ------------------------------------------------------------
>
> Key: MYFACES-1163
> URL: http://issues.apache.org/jira/browse/MYFACES-1163
> Project: MyFaces Core
> Type: Bug
> Versions: 1.1.2-SNAPSHOT, 1.1.2, 1.1.3-SNAPSHOT
> Environment: JBoss 4.0.4RC1 myfaces-1.1.3-SNAPSHOT
> Reporter: Ingo Massen
> Assignee: Stan Silvert
>
> Cannot use Myfaces jars installed in
> JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/jsf-libs as they do
> not use the correct WebappClassloader but instead an UCL3 classloader.
> This is because myfaces use the following line in StateUtils.getAsObject
> ObjectInputStream s = new ObjectInputStream(input);
> instead of
> import org.apache.myfaces.shared.util.MyFacesObjectInputStream;
> ObjectInputStream s = new MyFacesObjectInputStream(input);
> The same applies to JspStateManagerImpl.deserializeView().
> ObjectInputStream uses Class.forName instead of
> Thread.currentThread().getContextClassLoader() as the ClassUtils
> implementation that MyFacesObjectInputStream uses does.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira