• maven 项目出现 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener


    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    在网上找了些资料,有的说是少jar包,把有关spring的jar包复制到/WEB-INF/lib下面就行了,但这是maven项目,不需要这样做...

    还有一个原因是,项目不是maven项目,我这个之前是普通的web项目,只是加上了一个pom.xml而已
    需要修改的有两个地方
    1.项目根目录下的.project文件,用记事本打开,加入以下代码(把原来的<buildSpec>节点和<natures>替换了):

      <buildSpec>
    <buildCommand>
    <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.jdt.core.javabuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.wst.common.project.facet.core.builder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.wst.validation.validationbuilder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
    </buildCommand>
    <buildCommand>
    <name>org.maven.ide.eclipse.maven2Builder</name>
    <arguments>
    </arguments>
    </buildCommand>
    </buildSpec>
    <natures>
    <nature>org.maven.ide.eclipse.maven2Nature</nature>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    </natures>


    2.项目根目录下的.classpath,找到

    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>

    替换为:

    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
    </classpathentry>

    新增加一个classpathentry节点:

    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
    </classpathentry>

    OK,到这一步已经完成了,到eclipse中刷新项目,然后重新启动tomcat,错误已经解决!



    在.classpath文件中:

    <classpathentry kind="output" path="target/classes"/>

    改为:

    <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

    习惯,^_^,把编译后的文件放到WEB-INF/classes下面





    友情赞助

    如果您喜欢此文,感觉对您工作有帮助,预期领导会给您涨工资,不妨小额赞助一下,让我有动力继续努力。

    赞助方式:打开支付宝App,使用“扫一扫”付款,付款码见下图,别忘了付款留言哦!

  • 相关阅读:
    BigDecimal 相除时因除不尽报错
    Spring Boot 构建项目时报错:You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse build make sure you run eclipse under JDK as well (com.mysema.maven:apt-maven-plugi
    JSP页面进入时不加载数据列表
    JSP页面乱码解决方案
    JSP中直接在输入框中校验
    数据存储过程及计算
    Python 基础入门 7_4 内置模块(Math模块以及随机数模块)
    Python 基础入门 8 异常处理及文件处理
    Python 基础入门 7_3 内置模块(OS模块)
    Python 基础入门 7_2 内置模块(时间模块)
  • 原文地址:https://www.cnblogs.com/zhouyalei/p/2268606.html
Copyright © 2020-2023  润新知