Java SE:@Inject在RESTEasy调用的Bean Validation验证器中不起作用

时间:2017-02-18 04:08:55

标签: cdi resteasy hibernate-validator

当RESTEasy调用验证时,Hibernate Validator Reference Guide中的以下代码在Java SE中不起作用:

public class ValidLicensePlateValidator implements ConstraintValidator<ValidLicensePlate, String> {

    @Inject
    private VehicleRegistry vehicleRegistry;

    //rest of the class

字段vehicleRegistry 从未注入

请注意,我在类路径上有hibernate-validator-cdi.jar

知道我的设置有什么问题吗?或者这是RESTEasy中的错误吗?

以下是我调查的结果(可能是误导性的):

  1. 在应用程序启动期间,RESTEasy会显示信息日志:

    RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
    
  2. 从RESTEasy源代码中,似乎正在AbstractValidatorContextResolver调用context.lookup("java:comp/ValidatorFactory")中查找启用了CDI的ValidationFactory,但它失败并且使用了非CDI启用的ValidationFactory。

    < / LI>

0 个答案:

没有答案