I am calling my deployed EJB, say E1, from a remote client. The EJB method tries to instantiate one of my utils classes C1 which is in the jboss classpath using Class.forName(). That utils class has a method C1M1 which invokes another EJB E2 using its Local interfaces. E2 is not currently deployed - but I presume that should not matter since I am not yet calling the method C1M1 which invokes E2. But I find that I get the java.lang.NoClassDefFoundError: javax/ejb/EJBLocalHome for the Class.forName statement. When I comment out the C1M1 method or I add the jboss-j2ee.jar in the jboss classpath, everything works fine.
1. Why should I get this error when I am not even calling the method C1M1 that has the erroneous call?
2. Why is jboss not able to find the EJBLocalHome class which I presume is already included in its classpath?