2

次のようなバリデーターを使用している春のプロジェクトがあります。

<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/**" />

プロジェクトを実行すると、次のようになりますBeanCreationException

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

これがPOMの私のスニペットです:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.3.2.RELEASE</version>
</dependency>
<!-- Hibernate entity manager with JPA 2 support. -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>4.3.0.Beta2</version>
</dependency>

<!-- Hibernate’s implementation of JSR-303. -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.2.0.Final</version>
</dependency>

<!-- The JSR-303 Bean Validation API library. -->
<dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.0.0.GA</version> 
</dependency>

なぜこのエラーが発生するのですか?

ありがとう

4

5 に答える 5

2

これは下位互換性の問題である可能性があります: https://jira.springsource.org/browse/SPR-10466

于 2013-07-19T09:41:27.277 に答える
2

依存関係は問題ありません。提供された情報に基づいて、エラーは表示されません。

hibernate-validatorそのため、IDE を確認し、依存関係が本当にクラスパスにあるかどうかを確認することをお勧めします。M2E で Eclipse を使用している場合は、プロジェクトを更新してみてください。

  • プロジェクト (プロジェクトを右クリック) > Maven > Update Project... .
于 2013-06-12T20:37:18.737 に答える
0

I also had this exact same problem, tried all sorts of combinations of JAR versions, different bean definitions, even customised class implementations. Turns out, I just had to clean the project and restart Eclipse. Problem solved, and lesson learnt!

于 2014-04-03T14:31:40.947 に答える