У меня есть следующие ExceptionMapper:CDI инъекции с ExceptionMapper- @Inject нуль
@Provider
public class GenericExceptionMapper
implements ExceptionMapper<Exception> {
@Inject
private ExceptionDAO exceptionDAO;
@Override
public Response toResponse(Exception e) {
LOGGER.error(e.getMessage(), e);
return Response.status(INTERNAL_SERVER_ERROR)
.type(MediaType.TEXT_PLAIN)
.entity(e.getMessage())
.build();
}
exceptionDAO всегда нуль. У меня есть beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans 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 /beans_1_0.xsd"
></beans>
Я попытался инъекционными много классов, но они всегда показывают утратившими.
У вас есть CDI, работающий в любом месте вашего проекта? Что это за проект (EAR, WAR и т. Д.)? Где конкретно beans.xml? Как оформляется аннотация «ExceptionDAO»? – dcsohl
О, еще несколько вопросов: есть ли в GenericExceptionMapper какие-либо аннотации? Как вы его получите? – dcsohl
Его проект JAR. Да CDI работает в других породах – abbas