I'm having some trouble getting SeamTest to work with my setup with EJBs in an external JAR:
Business logic is contained in a EJB3 JAR (business.jar) separate from actual Seam project. Seam EAR project is created with seamgen, and the business.jar is declared in application.xml as usual. The business.jar is also seam-ified with a seam.properties file in the root and the seam interceptors in the ejb-jar xml, and my EJB beans are also Seam components (with @Name annotation) and can be injected in my Seam POJO action beans. This setup works as expected when running application in JBoss.
Now I struggle with having SeamTest work with this configuration. I don't know the suggested setup for having Embedded JBoss pick up the business.jar and have it correctly deployed with the application (and have Seam correctly scan it). I tried just putting business.jar in the test-build directory and have it declared in META-INF/application.xml, but this gives me a ClassNotFoundException when the bean container for the POJO action bean refering the external EJBs is installed. I get the feeling that the test-build directory can not just be thought of as an exploded EAR.
What am I doing wrong? Has anyone been here before?
I found a solution to this. It's a dependency problem, the business.jar has to be deployed before the seam app but after the datasource. If the business.jar goes in the lib directory it works as expected and no dependencies need to be declared elsewhere. I had put it somewhere else which screwed up the deployment order.