• 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窗口,重新发布应用即可。

  • 相关阅读:
    perl学习之路3
    perl学习之路1
    年少的忧伤
    莎士比亚的情诗
    自做贪吃蛇游戏的android实现
    伤感的蝴蝶
    爱上下拉列表框Spinner
    相识RadioGroup初恋CheckBox
    EditText和Button的纠缠
    谁陪我一起打包Andriod应用
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468691.html
Copyright © 2020-2023  润新知