0

我有一个 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");
  }
 `
4

1 回答 1

1

将您的.properties文件放在您的文件resources夹下或系统中的任何位置并指向它。

于 2017-09-25T14:24:45.687 回答