java.lang.ClassNotFoundException:org.springframework.web.util.ExpressionEvaluationUtils

时间:2014-03-06 17:36:22

标签: spring spring-mvc java-7 tiles-3

我刚刚将Spring MVC应用程序版本3.2升级为4.0.2,我的视图标记不再有用了。

错误:

java.lang.ClassNotFoundException: org.springframework.web.util.ExpressionEvaluationUtils
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
org.springframework.web.servlet.tags.MessageTag.resolveMessage(MessageTag.java:215)
org.springframework.web.servlet.tags.MessageTag.doStartTagInternal(MessageTag.java:166)
org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:80)
org.apache.jsp.views.templates.main_jsp._jspx_meth_spring_005fmessage_005f0(main_jsp.java:570)

ExpressionEvaluationUtils 已在Spring 3.2中弃用,已在4.x.中删除

我使用Eclipse IDE运行Tomcat 7.0.50。

我在这里缺少什么?

Belo是我配置的一部分。

 <java-version>1.7</java-version>
    <org.springframework-version>4.0.2.RELEASE</org.springframework-version>
    <spring-security.version>3.2.1.RELEASE</spring-security.version>
<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework-version}</version>
        <exclusions>
            <!-- Exclude Commons Logging in favor of SLF4j -->
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
            <exclusion>
                <artifactId>spring-aop</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>

3 个答案:

答案 0 :(得分:0)

如果在升级spring时没有更改JSP,那么您可能会使用旧版本的旧编译JSP(堆栈跟踪中的 .tags.MessageTag。)。清除tomcat工作目录以重新编译JSP,然后重试。

答案 1 :(得分:0)

我刚发现您需要将jsp-config web.xml更改为ignore-el = true。 它现在有效。

<jsp-config>
    <jsp-property-group>
        <url-pattern>/**</url-pattern>
        <el-ignored>**true**</el-ignored>
    </jsp-property-group>
</jsp-config>

答案 2 :(得分:0)

您还需要将spring-security依赖项更新为4.0.n.RELEASE版本。