0

나는 자바 프로젝트를 가지고 있으며 그 안에 사용자 정의 동면 체 검사기를 사용한다. Hibernate Docs에 따르면 ValidateMessages.properties에서 사용자 정의 오류 메시지를 키 - 값으로 정의해야하며이 파일은 "classpath"디렉토리에 작성되어야합니다. 내 문제는 classpath가 "target"디렉토리 아래에 있으며 프로젝트를 클린 빌드 한 후에 삭제되므로 생성 된 .properties 파일이 사라질 것입니다. 그것이 어떻게 풀릴 수 있는가?Hibernate Validator : Custom Meassages

`@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"); 
    } 
` 
+1

'src/main/resources'에 넣으십시오. – Ramanlfc

+0

리소스 아래에 넣었지만 작동하지 않았습니다. 이 디렉토리를 어떻게 가리켜 야합니까? @Ramanlfc – HoseinPanahi

답변

1

는 시스템 및 지점에 어디서든 resources 폴더 아래 .properties 파일을 넣거나.

+0

질문에 맞춤 검사기 코드가 추가되었습니다.하지만 새 파일 주소를 가리키는 방법을 모르겠습니다. 설명해주세요. – HoseinPanahi

+0

프로젝트 구조를 공유 할 수 있습니까? –

+0

구조에 대해 무엇을 의미합니까? 커스텀 Validator와 주석을 정의하고 bean proprety를 위해 클래스에서 해당 주석을 사용했습니다. 그런 다음 대상/클래스에 "ValidateMessages.properties"를 만들고 키 - 값을 무시했습니다. 그리고 그것은 작동하지만 깨끗한 후에 목표물은 사라질 것입니다. @ Samuel.F – HoseinPanahi