如何让maven jar 依赖包将工程依赖的jar 复制到WEB-INF/lib 目录下

17647人阅读
我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器。之前部署web项目到tomcat进行启动调试都很正常,今天突然出现无法启动情况,启动过程报如下错误:
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
&& &at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
&& &at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
&& &at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
&& &at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
&& &at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
&& &at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
&& &at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
&& &at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
&& &at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
&& &at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
&& &at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
&& &at java.util.concurrent.FutureTask.run(FutureTask.java:166)
&& &at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
&& &at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
&& &at java.lang.Thread.run(Thread.java:722)
类找不到,该类依赖于spring-web-XXXX.jar,看了下maven依赖库,该依赖是存在的,那是怎么回事,然后再看tomcat目录下的webapps中部署的项目,项目已经部署成功,相应的class文件和静态文件都有了,但仔细一看,在WEB-INF下缺少了lib文件夹,才明白为什么找不到org.springframework.web.context.ContextLoaderListener类了。为什么在eclipse中启动tomcat时没有将lib拷贝过来,想想之前碰到了项目部署设置的问题。解决办法如下:
右击项目-&properties-&找到Deployment Assembly,右边便是编译打包的配置,看是不是缺少了lib库的依赖,我的就是,点击Add,添加maven依赖库。最后列表如下
再重新启动tomcat,启动成功!!
转载请注明链接:http://blog.csdn.net/yiwenjun2008/article/details/
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1900806次
积分:17206
积分:17206
排名:第517名
原创:596篇
评论:151条
(1)(7)(1)(2)(1)(8)(8)(1)(9)(20)(22)(1)(3)(2)(2)(1)(121)(85)(9)(2)(2)(3)(1)(9)(5)(21)(31)(35)(23)(45)(25)(78)(14)【maven web】工程引述jar包深度复制到WEB-INF/LIB目录配置 - Web前端当前位置:& &&&【maven web】工程引述jar包深度复制到WEB-INF/LIB【maven web】工程引述jar包深度复制到WEB-INF/LIB目录配置&&网友分享于:&&浏览:104次【maven web】工程引用jar包深度复制到WEB-INF/LIB目录配置
将【maven web】工程引用jar包深度复制到WEB-INF/LIB目录配置
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下
时间: 22:28:23
&&&& 阅读:50
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&1.在默认生命周期的compile阶段执行 maven-dependency-plugin:copy-dependencies命令即可:&plugin&&groupId&org.apache.maven.plugins&/groupId&&artifactId&maven-dependency-plugin&/artifactId&&executions&&execution&&id&install&/id&&phase&install&/phase&&goals&&goal&sources&/goal&&/goals&&/execution&&execution&&id&compile&/id&&phase&compile&/phase&&goals&&goal&copy-dependencies&/goal&&/goals&&configuration&&outputDirectory&src/main/webapp/WEB-INF/lib&/outputDirectory&&/configuration&&/execution&&/executions&&/plugin&2.当依赖jar包发生变更时,应该执行clean生命周期,删除所有旧的jar包;这样才能保证WEB-INF/lib和Maven的依赖管理的Jar包一致。&plugin&&groupId&org.apache.maven.plugins&/groupId&&artifactId&maven-clean-plugin&/artifactId&&executions&&execution&&id&clean&/id&&phase&pre-clean&/phase&&goals&&goal&clean&/goal&&/goals&&configuration&&directory&src/main/webapp/WEB-INF/lib&/directory&&/configuration&&/execution&&/executions&&/plugin&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!用户名:jethai
文章数:343
评论数:11
访问量:214535
注册日期:
阅读量:1083
阅读量:3143
阅读量:426301
阅读量:1114650
51CTO推荐博文
右键点击工程,属性(properties),选择deployment assembly选项,单击add按钮,如下图: 在弹出的对话框选择java build path entries&next后选择Maven Dependencies即可参考文章:&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 maven 打包依赖jar 的文章

 

随机推荐