Maven ne reconnaît pas EJB en tant que dépendance de projet lors de la tentative de définir le module

Aujourd'hui j'ai mis à jour mon local serveur Glassfish pour 3.1.1 dans la préparation de mon entreprise est la mise à niveau des serveurs de la même version. Je suis en train d'essayer de convertir mon projet de service web pour jouer à nice avec le nouveau serveur, et ont frappé un barrage routier.

Dans mon oreille pom du fichier, j'ai déjà eu à la fois de la webapp et les ejb listés comme des dépendances. Dans la webapp du pom, j'ai eu l'ejb répertorié comme une dépendance ainsi. Lorsque vous tentez de déployer cette configuration de Glassfish 3.1.1, j'ai reçu ce message d'erreur:

Erreur s'est produite lors du déploiement: Exception lors du déploiement de l'application [oreille] : Impossible de résoudre de référence Local ejb-ref name=nom,Local 3.x interface =interface ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session car il y a 2 ejb dans l'application avec l'interface de l'interface. Certaines des causes possibles: 1. L'EJB classe d'haricot a été emballé dans une oreille lib bibliothèque (ou par tout autre bibliothèque mécanisme qui rend la bibliothèque visible pour tous les modules), ce qui rend tous les modules comprennent cette classe d'haricot indirectement. 2. L'EJB classe d'haricot a été emballé dans un composant module qui fait référence à la EJB, soit directement, soit indirectement par l'intermédiaire d'Manifeste, WEB-INF/lib. L'EJB classe d'haricot ne doit être emballé dans le déclarant module ejb et pas le référencement des modules. Le référencement des modules ne doit inclure que des interfaces de l'EJB. s'il vous Plaît voir le serveur.journal de fo .... msg.seeServerLog

Essentiellement je crois qu'il est en train de dire que parce que j'ai l'EJB répertorié comme une dépendance dans deux domaines différents, Glassfish 3.1.1 ne sais pas qui de la dépendance à regarder. Ce n'était pas un problème en 2.1.1. De ce fait, j'ai enlevé la dépendance à l'oreille, car il serait encore partie de l'oreille est efficace pom.

Cependant, maintenant, quand l'oreille génère l'application.xml fichier, il omet toutes les ejb informations à partir du fichier. Je peux déployer l'application très bien maintenant, mais quand j'essaie d'exécuter quoi que ce soit-je obtenir NameNotFoundExceptions concernant l'ejb.

J'ai essayé d'ajouter les modules ejb à l'oreille pom manuellement avec le tag, mais quand j'essaie de compiler le projet, j'ai le message d'erreur:

Artefact[ejb] n'est pas une dépendance du projet.

Ce, malgré le fait que quand je regarde l'effectif pom pour l'oreille, je peux voir les ejb répertorié comme une dépendance.

Comment puis-je générer l'application.xml le fichier correctement, tandis que toujours conformes à Glassfish 3.1.1 plus rigide à base de règles?

Laissez-moi savoir si vous avez besoin de plus d'informations, et merci pour l'aide!

  • J'ai effectivement rencontré ce problème, et j'ai été en mesure de corriger en modifiant le pdm. Vous pouvez poster votre POM donc je peut prendre un coup d'oeil et vous montrer ce qu'il faut changer? Si c'est la compagnie des données sensibles changer les noms de package à autre chose.
InformationsquelleAutor lowell | 2011-11-18