zoukankan      html  css  js  c++  java
  • JAR包放在WEB-INF/lib子目录报ClassNotFoundException解决方案

    对于Java Web应用依赖的jar包,我们通常会放到WEB-INF/lib目录下,但是笔者喜欢把不同框架的jar包放在不同的子目录下,例如新建一个struts目录存放struts框架的jar包等。
    下面是笔者项目结构截图:
    这里写图片描述
    但是这样会有一个新的问题,项目部署的后启动会报ClassNotFoundException错误:
    例如笔者在web.xml配置了spring的监听器:

        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:beans.xml</param-value>
        </context-param>
        <listener>
            <listener-class>
                org.springframework.web.context.ContextLoaderListener
            </listener-class>
        </listener> 

    应用启动时报错信息如下:

    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4115)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4671)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)

    具体解决方案如下:
    1.在项目上点击右键=>properties,点击Deployment Assembly=>Add。
    这里写图片描述
    2.选择Java Build Path…,点击Next。
    这里写图片描述
    3.全选需要发布到WEB-INF/lib路径下的jar包,点击Finish案例。
    这里写图片描述
    4.点击OK案例,关闭Properties窗口,重新发布应用即可。

  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468691.html
Copyright © 2011-2022 走看看