Mon projet actuel consistant en un module war et ejb utilise un pot (incorporé via maven). Ce jar contient un composant CDI qui, quand j'injecte ceci dans le module de guerre fonctionne comme prévu, mais quand j'injecte ceci dans mon module d'ejb j'obtiens un NoClassDefFoundError pendant le démarrage de mon WAS 8.5 dans l'éclipse (profil complet).eclipse: CDI externe dans le module EJB: NoClassDefFoundError
Lorsque je démarre le serveur en premier, ajoutez l'injection plus tard et republiez cela semble fonctionner. Aussi quand j'utilise le profil Liberty cela fonctionne. Aussi sur Z/os et IPAS cela fonctionne comme prévu.
Je pense qu'il pourrait avoir quelque chose à faire avec la charge de classe, mais je n'ai aucune idée de comment résoudre cela correctement.
Utilisation d'Eclipse Enseigne lumineuse, WAS profil complet 8.5.5.11, jee6 Project utilise Java 8 tandis que le composant utilise Java 6
Ceci est la première partie de la stacktrace:
[13-9 -17 14: 54: 26: 589 CEST] 0000003e InjectionProc W CWNEN0047W: Les annotations de ressources sur les champs de la classe BestelFacade seront ignorées. Les annotations ne peuvent pas être obtenues en raison de la exc eption : Enregistreur à java.lang.Class.getDeclaredFieldsImpl (Native Method)
Merci
Où se trouve le fichier JAR dans votre déploiement (ear/lib ou war/lib)? Quels haricots contient-il (CDI pur, ou EJB sans état/stateful beans)? Collez également ici votre 'NoClassDefFoundError'. – Siliarus
Le fichier de classe de la classe n'est pas disponible pour le chargeur de classe essayant de le faire. Vous avez probablement besoin de le mettre ailleurs. –
@Siliarus Le pot est juste une dépendance maven comme les autres. Pour autant que je sache, il contient des beans CDI purs (seule l'annotation que j'ai utilisée est @Dependent). Pour Error voir question éditée. – Bgvv1983