xiaoyao9184/hj-t212-parser

大神求解答:开启校验enableDefaultVerifyFeatures会报错

chenqiaoha-git opened this issue · 5 comments

代码:

T212Mapper mapper = new T212Mapper()
                .enableDefaultVerifyFeatures()
                .enableDefaultParserFeatures();

        //从T212字符串中读取Data对象
        Data data = mapper.readData(reader);

出错信息:
Caused by: javax.validation.ConstraintDefinitionException: HV000243: Constraint com.xy.format.hbt212.core.validator.field.ValidDate references constraint validator type com.xy.format.hbt212.core.validator.clazz.FieldValidDateValidator, but this validator is defined for constraint type com.xy.format.hbt212.core.validator.clazz.FieldValidDate.
at org.hibernate.validator.internal.engine.constraintvalidation.ClassBasedValidatorDescriptor.of(ClassBasedValidatorDescriptor.java:48)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorDescriptor.forClass(ConstraintValidatorDescriptor.java:49)
at org.hibernate.validator.internal.metadata.core.ConstraintHelper.lambda$getDefaultValidatorDescriptors$6(ConstraintHelper.java:1001)

如果注释掉enableDefaultVerifyFeatures,就OK

T212Mapper mapper = new T212Mapper()
               // .enableDefaultVerifyFeatures()
                .enableDefaultParserFeatures();

请提供示例数据,并更新到最新代码

示例数据:
String h212 = "##0136ST=32;CN=2011;PW=123456;MN=LD130133000015;CP=&&DataTime=20160824003817;B01-Rtd=36.91;011-Rtd=231.0,011-Flag=N;060-Rtd=1.803,060-Flag=N&&4980\r\n";
代码为最新代码:

repositories {
    maven{
        url 'https://jitpack.io'
    }
}
dependencies {
    compile 'com.github.xiaoyao9184.hj-t212-parser:hj-t212-parser:master-SNAPSHOT'
    compile 'com.github.xiaoyao9184.hj-t212-parser:hj-t212-translator:master-SNAPSHOT'
}

很惊喜大神能及时响应我的问题,跪谢!

无法复原你的错误,请下载源码后运行 gradle test 看是否还会出现,并确保jitpack下载到最新依赖包

可以强制依赖使用 ac5d822c2e 版本

	dependencies {
	        implementation 'com.github.xiaoyao9184.hj-t212-parser:hj-t212-parser:ac5d822c2e'
	}

使用ac5d822c2e版本后问题解决,感谢大神的解答!!万分感谢

大神,我也碰到这个问题了,我用的是maven,更新到了 ac5d822 也还是不行,

  <dependency>
        <groupId>com.github.xiaoyao9184.hj-t212-parser</groupId>
        <artifactId>hj-t212-parser</artifactId>
        <version>ac5d822c2e</version>
    </dependency>
    <dependency>
        <groupId>com.github.xiaoyao9184.hj-t212-parser</groupId>
        <artifactId>hj-t212-translator</artifactId>
        <version>ac5d822c2e</version>
    </dependency>

我的依赖是这样加的,执行 T212MapperTest 用例的时候,只有readData()方法执行出这个错误,其他的都成功了,求解决办法!