Hi,
it depends on what your utility classes do with the EJB:s. Normally all clients access EJB:s only through home and remote interfaces (and possibly local interfaces in EJB 2.0 spec), so nobody ever refers directly to the EJB implementation classes. The actual classes are accessed only by the EJB container.
But if your utility classes do some odd things with the EJB implementation classes, then you do need also them in the classpath. That would be a very uncommon situation, though.
It seems that my example classpath entry was chopped in my last message. It should have been "Class-Path:" and after that write the path from the root of your ear to your ejb classes.
Example: You have a class named com.somecompany.ejb.SimpleEjbBean. Its directory path is /someear.ear/someejbmodule/com/somecompany/ejb/SimpleEjbBean.class. So
you should put "Class-Path: someejbmodule/" in the manifest, because paths begin in the ear's root level.
But I still recommend the jar-based solution which I explained in the beginning of this post. In fact, I think that it is wisest if the client classes never have the actual EJB implementation classes in their classpath.
T: Ville