2011-03-06 6 views
3

J'essaie d'utiliser la nouvelle fonctionnalité EJB3.1 dans laquelle on peut déployer un EJB empaqueté dans un fichier .war. J'utilise Maven 2.2.1 pour empaqueter le module EJB et abandonner le jar ejb dans un module de guerre (en tant que dépendance). La dernière guerre contient un simple fichier web.xml sans contenu, et la bibliothèque ejb jar dans le répertoire lib. Cependant, bien que l'application soit correctement déployée, l'ejb annoté (@Stateless) n'est pas reconnu par le conteneur. Je n'ai pas de descripteur ejb-jar.xml (qui est facultatif dans EJB3).JBoss 6 - Déploiement d'ejb dans un emballage de guerre

Si je déploie le fichier ejb par lui-même (en le déposant dans le répertoire de déploiement de JBoss), un nom jndi lui est affecté.

Ai-je raté quelque chose ici?

Répondre

6

J'ai trouvé le problème sur celui-ci. Mon web.xml était la version 2.4:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

Cependant, pour être déployés à EJBs en paquets de guerre, il doit être au moins 3,0:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
     version="3.0"> 

Cela est principalement dû au fait que je était en train de créer mon module de guerre avec un archétype J2EE Maven.

Questions connexes