maven是个不错的管理jar包工具,但是我们在eclipse使用maven时,总是遇上这样那样的问题,比如今天,我编译工程,启动过后,tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
这种意思指向很明确,就是缺少"org.springframework.web.context.ContextLoaderListener"这个类,而这个类就是在spring-web.jar包下,而工程使用了maven,看了下编译过后的工程,也确实有这个jar包。找了好久才知道原因,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包
解决方法一:
把工程所需要的jar包手动复制到tomcat的工程里面的WEB-INF\lib下
解决方法二:
项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies(或者全部的jar包) -> Finish -> OK
这样把对应的Maven依赖包发布到tomcat,调试时会自动把那些jar发布到指定目录下,tomcat也能找到这些jar了
另外,maven工程有时候在eclipse里面编译不了的话,不妨可以试一下cmd,定位到工程目录下,运行 mvn eclipse:eclipse,这句话是生成 Eclipse 项目文件的