JAR包放在WEB-INF/lib子目录报ClassNotFoundException解决方案
2015-06-27 22:26
309 查看
对于Java Web应用依赖的jar包,我们通常会放到WEB-INF/lib目录下,但是笔者喜欢把不同框架的jar包放在不同的子目录下,例如新建一个struts目录存放struts框架的jar包等。
下面是笔者项目结构截图:
但是这样会有一个新的问题,项目部署的后启动会报ClassNotFoundException错误:
例如笔者在web.xml配置了spring的监听器:
应用启动时报错信息如下:
具体解决方案如下:
1.在项目上点击右键=>properties,点击Deployment Assembly=>Add。
2.选择Java Build Path…,点击Next。
3.全选需要发布到WEB-INF/lib路径下的jar包,点击Finish案例。
4.点击OK案例,关闭Properties窗口,重新发布应用即可。
下面是笔者项目结构截图:
但是这样会有一个新的问题,项目部署的后启动会报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窗口,重新发布应用即可。
相关文章推荐
- JAR包放在WEB-INF/lib子目录报ClassNotFoundException解决方案
- latex: pgfplots多个图分组显示
- JAR包放在WEB-INF/lib子目录报ClassNotFoundException解决方案
- ELF Format 笔记(五)—— 特殊 Section
- java基础增强---JavaBean的内省操作
- 机器视觉学习系列三:验证码识别
- 面试10大算法汇总
- 《狼图腾》有感
- vim之AutoComplPop和OmniCppComplete的安装和使用
- 微信裂变红包
- Python使用urllib时url带中文参数的问题
- 区间重合判断[poj2808 校门外的树]
- JAVA基础知识:容器
- 无线接入技术
- Wpf配置文件属性
- shell排序算法
- 开发基于大数据平台的搜索引擎
- Java IO流 异常日志制作
- SQLServer 复制中移除和添加发布而不初始化所有项目
- Android学习之-RecyclerView带刺的玫瑰