Je développe un client autonome qui appelle certaines méthodes EJB sur Glassfish v3. Cela fonctionne bien jusqu'à ce que j'intègre le client dans un plugin Eclipse pour l'exécuter dans notre application RCP. Dans ce contexte, il semble y avoir un problème de classloader lors de l'initialisation du contexte de nommage et j'obtiens l'exception listée ci-dessous. (Le client a gf-client.jar et toutes ses dépendances sur son chemin de classe.)Exécution client autonome Glassfish v3 comme plug-in Eclipse
Il échoue sur
m_ctx = new InitialContext();
à l'exception
java.lang.NoSuchMethodException: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findResources(java.lang.String)
at java.lang.Class.getMethod(Class.java:1605)
at com.sun.enterprise.module.single.ManifestProxy.<init>(ManifestProxy.java:34)
at com.sun.enterprise.module.single.ProxyModuleDefinition.<init>(ProxyModuleDefinition.java:78)
at com.sun.enterprise.module.single.ProxyModuleDefinition.<init>(ProxyModuleDefinition.java:73)
at com.sun.enterprise.module.single.SingleModulesRegistry.<init>(SingleModulesRegistry.java:42)
at com.sun.enterprise.module.single.SingleModulesRegistry.<init>(SingleModulesRegistry.java:30)
at com.sun.enterprise.module.single.StaticModulesRegistry.<init>(StaticModulesRegistry.java:60)
at org.glassfish.internal.api.Globals.getStaticHabitat(Globals.java:67)
at com.sun.enterprise.naming.impl.SerialContext.<init>(SerialContext.java:183)
at com.sun.enterprise.naming.impl.SerialContext.<init>(SerialContext.java:253)
at com.sun.enterprise.naming.impl.SerialInitContextFactory.createInitialContext(SerialInitContextFactory.java:121)
at com.sun.enterprise.naming.impl.SerialInitContextFactory.getInitialContext(SerialInitContextFactory.java:116)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
Quelqu'un at-il une idée de comment résoudre ce problème?
Je rencontre la même erreur lors de la tentative d'initialiser un conteneur Glassfish intégré dans JUnit (via Ant et NetBeans). –