a problem with how the classpath is used. So we have to have duplicate classes in different jars.
1. Munging multiple jars into one destroys the advantages of plugging different components together to form a larger app.
You state that the EJB 2.0 PFD2 "mandates that entity EJBs participating in a relationship do so using local interfaces and requires both of the EJBs in the relationship to be packaged into the same JAR file."
2. If this is the case, then again, I think this is bad for modularity. Local interfaces should be given as a preferred option for those beans that will share a relationships in the same jvm. If you need to maintain a relationship between remote interfaces, then that should be allowed.
Having jar files declare thier dependencies is a better solution, as is having the classloader search for optional resources. But are those options in consideration for EJB specification. As well, is there a push for a universal way to declare jndi names for ejbs and other resources? Each vendor has thier own implementation which makes building modular components more difficult.