0

私は春の設定ファイルを使用しています

<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"  
            p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" 
            p:fallbackToSystemLocale="false" />         

<beans:bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    <beans:property name="validationMessageSource" ref="messageSource" />
</beans:bean>

<annotation-driven validator="validator" />

<resources location="/, classpath:/META-INF/web-resources/" mapping="/resources/**" />

<default-servlet-handler/>

...

コードを実行すると、次のエラーが表示されます

org.springframework.beans.factory.BeanCreationException: Error creating bean with 
name 'validator' defined in ServletContext resource 
[/WEB-INF/spring/appServlet/servlet-context.xml]: Error setting property 
values; nested exception is org.springframework.beans.PropertyBatchUpdateException;
nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException:  
Property 'validationMessageSource' threw exception; nested exception is 
java.lang.NoClassDefFoundError: org/hibernate/validator/resourceloading
/ResourceBundleLocator

このエラーが発生するのはなぜですか o Bean が messageSource で定義されているのですか?

ありがとう

4

2 に答える 2

2

不適切なバージョンの Hibernate Validator を使用しています。Spring は4.xをサポートします。Hibernate 5.xは Spring 4+ でサポートされます。

公式の問題レポート - https://jira.springsource.org/browse/SPR-10466

于 2013-06-07T17:15:43.693 に答える
1

この依存関係をmaven pomに追加することで、この問題を解決しました。

   <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.3.1.Final</version>
    </dependency>
    <dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
    </dependency>

私は春のフレームワーク 4.0.0.RELEASE を使用しています

于 2014-03-10T05:51:41.023 に答える