2016-08-05 2 views
1

Я думаю, что у меня что-то не так с моей конфигурацией запуска или чем-то еще. Когда я пытаюсь сделатьНе удалось ввести HttpServletRequest через CDI

@Context private HttpServletRequest request;

Я получаю ошибку

There is more than one Bean with type javax.servlet.http.HttpServletRequestQualifiers: [@javax.ws.rs.core.Context()] 
for injection into Field Injection Point, field name : request, Bean Owner : [xxx, Name:xxx, WebBeans Type:MANAGED, API Types:[java.lang.Object,xxx,xxx], Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any,javax.inject.Named]] 
found beans: 
HttpServletRequest, Name:null, WebBeans Type:THIRDPARTY, API Types:[javax.servlet.http.HttpServletRequest,java.lang.Object], Qualifiers:[javax.ws.rs.core.Context,javax.enterprise.inject.Any] from jar:file:/C:/enterprise-server-dozer-1.6.5/lib/servlet-api.jar!/javax/servlet/http/HttpServletRequest.class 
Bean1, Name:null, WebBeans Type:THIRDPARTY, API Types:[javax.servlet.http.HttpServletRequest], Qualifiers:[javax.ws.rs.core.Context] from unknown path 

я получаю подобную ошибку, если я попробовать с

javax.ws.rs.core.Request; 

с запросом, то ошибка указывает на нахождение тот же компонент в том же файле jar. Как боб, создается дважды. Что-нибудь очевидное, что я мог проверить, чтобы это решить?

+0

Этот отдых? и почему бы просто не использовать '' '@Inject private HttpServletRequest''' – maress

ответ

1

Этот бит здесь

C:/enterprise-server-dozer-1.6.5/lib/servlet-api.jar 

выглядит, как вы включили Servlet API JAR в вашем веб-приложение, которое не допускается.

API сервлета предоставляется вашим контейнером сервлета. Используя Maven, зависимость должна быть объявлена ​​с областью provided.

Наличие дубликата JAR в вашей заявке может содержать дубликат компонента.

Смежные вопросы