我有一个 java 项目并在其中使用自定义休眠验证器。根据Hibernate Docs,自定义错误消息应定义为 ValidateMessages.properties 中的键值,并且该文件必须在“classpath”目录中创建。我的问题是类路径位于“目标”目录下,并且在清理构建项目后将被删除,因此创建的 .properties 文件将消失。如何解决?
`@Target({FIELD, METHOD, PARAMETER, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = NCValidator.class)
@Documented
public @interface NC {
String message() default "{msg}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};}
///////////////////////////
` public class NCValidator implements
ConstraintValidator<NC, String> {
@Override
public void initialize(NC constraintAnnotation) {
ConstraintValidator.super.initialize(constraintAnnotation);
}
@Override
public boolean isValid(String string, ConstraintValidatorContext
context) {
...
...
}
}`
并在这样的类中使用这个自定义验证器:
`@ValidateNC
default public String getNC() {
return (String) get("nC");
}
`