我需要使用RESTEASY的其餘應用程序的CDI功能。所以我按照manual's instruction在我的應用上設置了resteasy-cdi模塊,該模塊運行在JBoss AS7上。resteasy-cdi - 獲取「重複的上下文初始化參數resteasy.injector.factory」錯誤
但是,當我開始出現以下異常的服務器:
13:48:08631 ERROR [org.apache.catalina.core.StandardContext](MSC服務線程1-4)背景信息[/ MainService]啓動失敗由於先前的錯誤:java.lang.IllegalArgumentException異常:複製上下文初始化參數resteasy.injector.factory
我的web.xml如下:
<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>
我試過服務器al參數的組合,並嘗試像this thread一樣配置它,但沒有成功。
在web.xml上指定javax.ws.rs.core.Application並禁用resteasy.scan也沒有解決問題。
我pom.xml中有以下內容:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-cdi</artifactId>
<version>2.2.1.GA</version>
</dependency>
我也嘗試測試有和沒有神器RestEasy的-jarxs在一起,並與像this article依賴關係的聲明。
我真的迷路了。你有什麼想法?現在我需要CDI或EJB來通過注入來使用JPA的EntityManager。我知道我可以在沒有它的情況下使用,但是我更願意這樣做,以便我可以探索JTA的整合和CDI在未來的功能。
謝謝。