J'ai besoin de la fonctionnalité CDI sur une application de repos dans laquelle j'utilise RESTEASY. J'ai donc suivi le manual's instruction pour installer le module resteasy-cdi sur mon application, qui fonctionne sur JBoss AS7.resteasy-cdi - obtention d'un "paramètre d'initialisation de contexte dupliqué resteasy.injector.factory" erreur
Mais quand je lance le serveur je reçois l'erreur suivante:
13: 48: 08631 ERREUR [org.apache.catalina.core.StandardContext] (fil de service MSC 1-4) Contexte [/ MainService] démarrage a échoué en raison d'erreurs précédentes: java.lang.IllegalArgumentException: paramètres d'initialisation du contexte en double resteasy.injector.factory
Mon web.xml est le suivant:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<context-param>
<param-name>resteasy.injector.factory</param-name>
<param-value>org.jboss.resteasy.cdi.CdiInjectorFactory</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
J'ai essayé sever toutes les combinaisons de paramètres, et essayé de le configurer comme dans this thread aussi, mais sans succès.
La spécification de javax.ws.rs.core.Application sur le fichier web.xml et la désactivation de resteasy.scan n'ont également pas résolu le problème.
Mon pom.xml a le contenu suivant:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-cdi</artifactId>
<version>2.2.1.GA</version>
</dependency>
J'ai aussi essayé les tests avec et sans l'artefact resteasy-jarxs ensemble et avec la déclaration de la dépendance comme this article.
Je suis vraiment perdu. As tu des idées? J'ai besoin de CDI ou d'EJB pour utiliser EntityManager de JPA par injection. Je sais que je peux m'en passer, mais je préférerais pouvoir explorer l'intégration de JTA et les fonctionnalités de CDI dans le futur.
Merci.