0

J'ai un projet java et utilise un validateur d'hibernation personnalisé. Selon Hibernate Docs, les messages d'erreur personnalisés doivent être définis en tant que valeur-clé dans ValidateMessages.properties et ce fichier doit être créé dans le répertoire "classpath". mon problème est que classpath est sous le répertoire "target" et il sera supprimé après clean-build le projet afin que le fichier .properties créé soit parti. comment cela peut-il être résolu?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) { 
    ... 
    ... 
    } 

    }` 

et ce validateur personnalisé dans une classe comme ceci:

`@ValidateNC 
    default public String getNC() { 
    return (String) get("nC"); 
    } 
` 
+1

le mettre dans 'src/main/resources' – Ramanlfc

+0

Je l'ai mis sous ressources mais cela n'a pas fonctionné. Comment devrais-je pointer vers ce répertoire? @Ramanlfc – HoseinPanahi

Répondre

1

Mettez votre fichier .properties sous votre dossier resources ou partout dans votre système et le point à lui.

+0

J'ai ajouté le code de validateur personnalisé à la question. Mais je ne comprends pas comment pointer vers la nouvelle adresse de fichier. veuillez expliquer – HoseinPanahi

+0

Pouvez-vous partager la structure de votre projet? –

+0

Que voulez-vous dire par structure? J'ai défini un validateur personnalisé et une annotation et utilisé cette annotation en classe pour une propriété de haricot. J'ai ensuite créé "ValidateMessages.properties" dans target/classes et y ai défini des valeurs-clés. et cela fonctionne, mais après que la cible clean-build aura disparu. @ Samuel.F – HoseinPanahi