Stan Silvert wrote:
But in AS6, Tomcat is no longer able to load the JSF impl classes. The only reason it finds JBossJSFConfigureListener is because I unjarred the class and put it in the root of deployers/jsf.deployer:
14:13:54,446 INFO http://community.jboss.org/message/536136#536136/TomcatDeployment deploy, ctxPath=/jboss-jsf-20test-jsfunit
14:13:54,507 ERROR [[/jboss-jsf-20test-jsfunit]] Error configuring application listener of class org.jboss.jsf.integration.config.JBossJSFConfigureListener: java.lang.NoClassDefFoundError: com/sun/faces/config/ConfigureListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLo
ader.java:70)
at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.
java:668)
at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.
java:627)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseC
lassLoader.java:626)
at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseC
lassLoader.java:603)
A really wild guess (since I haven't really looked at this deployer in detail) - The TomcatDeployer (or the entity which is trying to configure the listener class) perhaps isn't using the deployment unit's classloader and instead is using the server level classloader (which doesn't contain those jsf jars in the classpath).