在应用程序服务器中,您的应用程序的类路径中似乎没有JSR 303
Bean验证提供程序。如果您使用的是GlassFish,它会更好,如果你可以验证存在
bean-validator.jar的
$GLASSFISH_INSTALL_ROOT/glassfish/modules目录; Glassfish
3.1使用此JAR(包含Hibernate Validator实现)充当默认的JSR 303
Bean验证提供程序。我怀疑您使用的是Glassfish的较旧版本,或不包含Bean验证提供程序的其他应用程序服务器。
如果必须在类路径中包括Bean验证提供程序,请考虑阅读该
ValidationProviderResolver接口的Java
API文档,该文档指出:
遵循此处描述的服务提供者模式,通过meta-
INF / services /
javax.validation.spi.ValidationProvider文件的存在来标识Bean验证提供者。每个meta-INF / services /
javax.validation.spi.ValidationProvider文件都包含ValidationProvider实现的列表,每个实现都表示一个提供程序。
因此,如果确实在类路径中手动包含Bean验证提供程序,则必须确保
meta-INF/services/javax.validation.spi.ValidationProvider文件在类路径中存在,并且还包含Bean验证提供程序的名称。下面列出了Glassfish提供的内容的内容,它们指向Hibernate
Bean Validator类:
org.hibernate.validator.Hibernatevalidator



