"Did not."
Ideally, developers of app clients would have followed the normal Java SE rules for dependencies among JARs (as described in the Java EE spec) and would have added a reference from the app client JAR's Class-Path to EJB module JAR(s) if the client depended on any. Apparently developers did not do this - or did not want to do this - so the EJB module JARs were included in the generated client JAR and added dynamically to the app client's class path as a convenience.
Yes, it would be nice if GlassFish optimized the contents of the generated JAR so as to exclude such content if the EAR contained no clients. Unfortunately, it doesn't.
- Tim
[Message sent by forum member 'tjquinn']
http://forums.java.net/jive/thread.jspa?messageID=470566