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