When deploying a Seam 2.2.0 EAR in JBoss AS 7.0.2.Final, the Seam Remoting GWT support components are not disabled in a nice way. Seam's scanner is trying to instantiate these components, even though the GWT classes are not available, resulting in a java.lang.LinkageError when Seam's scanner tries to load the class.
- The application is deployed as an EAR.
- jboss-seam.jar is in the root directory of the EAR, and is declared as an EJB module in META-INF/application.xml.
- jboss-seam-remoting.jar is in the lib directory of the EAR, along with all the other Seam 2 jars.
When JBoss AS 7 is deploying the application, the Seam 2 scanner is looking for components in lib/jboss-seam-remoting.jar. It finds GWT14Service and GWTToSeamAdapter, even though these two components are declared with @Install(..., classDependencies= ...).
Expected behavior: The classDependencies in the @Install annotation prevents Seam's scanner from loading the class in the first place.
Removing the the org.jboss.seam.remoting.gwt package from jboss-seam-remoting.jar made the problem go away.