It's hard to tell for sure without seeing the app, but there are at least two possible explanations.
1. In GlassFish v2 each EJB module and each JAR at the top level of the EAR will be made available to app clients. If one of these JARs itself refers to classes in the web module then that could be a possible cause. (Note that the Java EE 6 spec has strengthened the restrictions on JAR visibility and so GlassFish v3 behaves differently in this way from v2.)
2. Your app client manifest's Class-Path might refer to a JAR which in turn refers to a web module class.
Does either of these seem like a possibility in your case?
- Tim
[Message sent by forum member 'tjquinn' (timothy.quinn_at_sun.com)]
http://forums.java.net/jive/thread.jspa?messageID=379355