情况:
启动SpringBoot时没法正常启动,报错内容如标题所示。
这种问题还是挺常见的。一种情况是缺少了这个包;第二种情况是:工程内同名的包有多个,引用了错误的包,错误的包里面没有这个方法(No Such Method)
日志:
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider;
at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.(ValidatorFactoryImpl.java:146) ~[hibernate-validator-5.3.6.Final.jar:5.3.6.Final]
at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:38) ~[hibernate-validator-5.3.6.Final.jar:5.3.6.Final]
at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:331) ~[hibernate-validator-5.3.6.Final.jar:5.3.6.Final]
at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:305) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
问题原因及解决方法:
resin4版本自带一个validator:
validation-api-1.0.0.GA.jar
将该包换为:
validation-api-1.1.0.Final.jar 即可