Похоже, что в пути к классу приложения на сервере приложений нет поставщика проверки компонентов JSR 303.Если вы используете Glassfish, было бы лучше, если бы вы могли проверить наличие bean-validator.jar
в каталоге $GLASSFISH_INSTALL_ROOT/glassfish/modules
;Glassfish 3.1 использует этот JAR-файл (который содержит реализацию Hibernate Validator) для использования в качестве поставщика проверки bean-компонентов JSR 303 по умолчанию.Я подозреваю, что вы используете более старую версию Glassfish или другой сервер приложений, который не содержит провайдера Bean Validation.
Если вам необходимо включить провайдера Bean Validation в classpath, попробуйте прочитать документацию по Java API дляValidationProviderResolver
интерфейс , который гласит, что:
Провайдеры Bean Validation определяются по наличию файлов META-INF / services / javax.validation.spi.ValidationProvider, следующих заОписанный шаблон поставщика услуг здесь
Каждый файл META-INF / services / javax.validation.spi.ValidationProvider содержит список реализаций ValidationProvider, каждая из которых представляет поставщика.
Поэтому, если вы включаете провайдера Bean Validation в ваш classpath вручную, вы должны обеспечить наличие файла META-INF/services/javax.validation.spi.ValidationProvider
в classpath, а также то, что он содержит имя провайдера Bean Validation.Содержание одного из них, предоставленного Glassfish, приведено ниже и указывает на класс средства проверки бобов Hibernate:
org.hibernate.validator.HibernateValidator