If ur EJB extends some class such as Spring AbstractXXXEJB, and this very AbstractXXXEJB happens stored in the WEB-INF/LIB DIR of a war file.When try to deploy ur EJB, u'll get a "EJB spec violation... Section 22.2"problem(try search it on google).The reason is that JBoss couldn't find the father class for ur EJB! that means jars stored in WEB-INF/LIB DIR can only be shared in the war project, not on the outside.
Trying to fix this problem, I modified following file: server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml and active the following propety but that didn't work. Does anybody meet this problem and know how to config the JBoss classloading strategies?
<!-- A flag indicating if the JBoss Loader should be used. This loader uses a unified class loader as the class loader rather than the tomcat specific class loader. The default is false to ensure that wars have isolated class loading for duplicate jars and jsp files. --> <attribute name="UseJBossWebLoader">false</attribute
These wiki links mention how to configure JBoss classloading
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossClassLoadingUseCases
http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassLoadingConfiguration