Spring错误集(一)

在使用JSR303 validator时出现的错误.
环境配置: JDK8、Tomcat 7.

错误

type Exception report
message java.lang.NoClassDefFoundError: javax/el/ELResolver
description The server encountered an internal error that prevented it from fulfilling this request.

exception
Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0
.....
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver

在springMVC上使用Hiberntae Validator,运行Tomcat时出现了上述的错误
解决方法:
使用Tomcat 8,不要使用Tomcat 7.
我的project的部分配置如下:
1. pom.xml的部分

<!--Hibernate Validator-->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.0.7.Final</version>
        </dependency>
        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>3.0.0</version>
            <scope>provided</scope>
        </dependency>
  1. springMVC-servlet.xml部分
<mvc:annotation-driven validator="validator"/>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
        <property name="validationMessageSource" ref="messageSource"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <!-- 国际化资源文件配置,指定properties文件存放位置 -->
        <property name="basenames" value="messages.message"/>
        <!--如果读取不到国际化文件,默认读取message.properties-->
        <property name="useCodeAsDefaultMessage" value="true"/>
</bean>

猜你喜欢

转载自blog.csdn.net/haiyanggeng/article/details/79844428
今日推荐