Java Hibernate验证器:自定义消息

Java Hibernate验证器:自定义消息,java,hibernate,validation,customvalidator,validationmessage,Java,Hibernate,Validation,Customvalidator,Validationmessage,我有一个java项目,并在其中使用了一个定制的hibernate验证器。根据,自定义错误消息应定义为ValidateMessages.properties中的键值,并且必须在“classpath”目录中创建此文件。 我的问题是类路径位于“target”目录下,在干净构建项目后它将被删除,因此创建的.properties文件将消失。如何解决 `@Target({FIELD, METHOD, PARAMETER, ANNOTATION_TYPE}) @Retention(RUNTIME) @Co

我有一个java项目,并在其中使用了一个定制的hibernate验证器。根据,自定义错误消息应定义为ValidateMessages.properties中的键值,并且必须在“classpath”目录中创建此文件。 我的问题是类路径位于“target”目录下,在干净构建项目后它将被删除,因此创建的.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 {};}

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

把它放在
src/main/resources
我把它放在resources下,但它不起作用。我应该如何指向这个目录@Ramanlfci'v在问题中添加了自定义验证程序代码。但我不知道如何指向新的文件地址。请解释你能分享你的项目结构吗?关于结构你是什么意思?我定义了一个自定义验证器和一个注释,并在类中将该注释用于bean属性。然后我在target/classes中创建了“ValidateMessages.properties”,并在其中定义了键值。它是有效的,但在清理构建之后,目标将消失@Samuel.FDon无法在
target/classes
上创建属性文件,请将该文件放在
src/main/resources
文件夹下。它将自动扫描并获取您的值。或者,如果您希望将文件放在其他地方,您可以这样做,并确保在加载资源时指向该文件位置。
     ` 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");
  }
 `