У меня есть веб-проект, в котором CDI-инъекция использовалась долгое время и работает нормально. Но я не могу ввести HttpServletRequest
или HttpServletResponse
.
Сервер: TomEE apache -tomee-webprofile-8.0.1
Пример:
@RequestScoped
public class MyControllerBean {
//This works great
@Inject
SomeBean configMgr;
//These fail
@Inject
HttpServletRequest httpServletRequest;
@Inject
HttpServletResponse httpServletResponse;
}
Когда я пытаюсь запустить сервер, я получаю сообщение:
org.apache.openejb.cdi.OpenEJBLifecycle.startApplication CDI Beans module deployment failed
org.apache.webbeans.exception.WebBeansDeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [javax.servlet.http.HttpServletResponse] is not found with the qualifiers
Qualifiers: [@javax.enterprise.inject.Default()]
for injection into Field Injection Point, field name : httpServletResponse, Bean Owner : [MyControllerBean, WebBeansType:MANAGED, Name:null, API Types:[java.lang.Object,com.example. MyControllerBean], Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
Что мне нужно сделать, чтобы это работало?