Spring MVC java.lang.ClassNotFoundException:表达式评估工具

nnsrf1az  于 2022-11-14  发布在  Spring
关注(0)|答案(3)|浏览(130)

我刚刚升级了一个Spring MVC应用程序,版本3.24.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>
pw9qyyiw

pw9qyyiw1#

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

n3h0vuf2

n3h0vuf22#

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

axr492tv

axr492tv3#

我刚刚发现你需要把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>

相关问题