I also have the "jboss-seam.jar" and "jboss-seam-ui.jar"in the /default/lib directory of the server.
Remove those. And use a clean JBoss install with a clean seam-gen generated application skeleton from which you can see where everything goes. These generated skeletons are self-contained applications.
Alternatively you can place all required jars like myfaces, trinidad, seam, ajax4jsf, richfaces, etc. into the jsf-libs folder of jboss-deploy/jbossweb-tomcat55.sar/jsf-libs dir.
It keeps you EAR file small in case you deploy to a remote server with small upload bandwidth.
I prefer this approach as I don't get ClassCastExceptions etc. when redeploying multiple times.
No, don't put the seam jars in jsf-libs - you'll see problems if you try to deploy more than one seam app to the server
At the moment I have the main jboss-seam.jar in the root of my .ear along with some other jars that are needed for a java library im using. All the jars that are needed in the web layer are in WEB-INF/lib:
I have also listed the following jars in my application.xml
I think the setup ive got eliminates the need for any jars to already exist in my jboss install, and i have only included the jars I need.
Is this right?
You can verify this by using seam-gen to generate a skeleton structure and then comparing the generated EAR to yours.