Je fais les étapes suivantes avec Eclipse 3.5, JBoss 4.2, EJB3, mais je fais face à la classe ne trouve pas exceptionComment utiliser l'API Java Reflection dans l'entité EJB 3?
1.compiling ce code dans le fichier foo.jar
package mypackage.foo;
import myejbpackage.ejb.fooInterface;
class foo implements fooInterface{
@override
void helloWorld(){System.out.print("HelloWorld");}
}
Notez que l'interface fooInterface en est écrit à l'intérieur de l'EJB utilisé
de réflexion 2.Grâce, je prends une instance de cette classe, également avec le même ejb
package myejbpackage.ejb;
class fooCaller{
void call(){
Class foo= Class.forName("mypackage.foo.foo");
fooInterface iDataBackupWriter = (fooInterface) foo.newInstance(); fooInterface.helloWorld(); }}
3.Then appeler au sein ejb3 sans état
package myejbpackage.ejb;
test(){
System.Out.Write("before calling");
new fooCaller().call();
}
4.Ensuite déploiement à Jboss 4.2 et et puting foo.jar en défaut/lib
5.then appeler la ejb 3 method.using client simple
il print:
"before calling"
et l'exception suivante se produit dans la console Eclipse
javax.ejb.EJBException: java.lang.RuntimeException: java.lang.NoClassDefFoundError: myejbpackage/ejb/fooInterface; nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: myejbpackage/ejb/fooInterface
java.lang.RuntimeException: java.lang.NoClassDefFoundError:myejbpackage/ejb/fooInterface
Toute suggestion? 1.Is cette exception de JBOOS, pourquoi? 1.Où devrais-je mettre le foo.jar à voir avec le bocal ejb3?
merci à l'avance