[ 
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

Reply via email to