My guess is you don't have an application.xml in your ear?
When the application.xml is not present in the archive, the glassfish will try to introspect all the jars inside the ear to see if they are component modules. And in your case, your common ejb jar would be introspected and determined to be an ejb component module instead of a library.
You could package an application.xml defining the component modules explicitly to remove any ambiguity.
And in general, it's not recommended to use a component module as library, as that would make all modules which have access to this library that type of component module.
[Message sent by forum member 'hzhang_jn' (hzhang_jn)]
http://forums.java.net/jive/thread.jspa?messageID=337444