项目环境概述
Eclipse:
版本: eclipse-mars
下载地址: https://pan.baidu.com/s/1ci4Nim
Tomcat:
版本: apache-tomcat-7.0.59
下载地址: https://pan.baidu.com/s/1eS6JlrO
Maven:
版本: apache-maven-3.0.2
下载地址: https://pan.baidu.com/s/1i4Ud35F
1. 在Package Explorer中点击鼠标右键,选择 Import 菜单, 选择【Existing Maven Projects】,点击【Next】
2. 在【Import Maven Projects】弹出框中的Root Directory中输入项目路径, 选中【Porjects】中的项目,然后
点击Finish,项目导入完成
3. 设置项目的编码为 UTF-8, 设置项目的JDK为 1.7 (具体见下面二个图)
4. 设置项目对maven的依赖
如果现在就运行工程的话,你会发现程序无法运行,报如下错误
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4932) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
原因是,maven并未将相应的jar包放到WEB-INF/lib目录下, 工程配置文件.classpath参数中org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER下面没有对应的配置(见下图4.1)
图4.1
tomcat对应的发布工程路径WEB-INF目录下没有相应的lib文件夹 (见下图4.2)
图4.2
下面我们配置将maven相应的jar包放到/WEB-INF/lib下
在工程上右击,打开【Properties】菜单,弹出下图对话框窗口, 选中【Deployment Assembly】菜单, 然后点击【Add】按钮
在对话框【New Assembly Directive】中,选中【Java Build Path Entries】, 点击【Next】
在对话框【New Assembly Directive】中,选中【Maven Dependencies】,点击【Finish】
至此,maven jar包的依赖配置已经结束,项目就可以正常启动运行了
那回过头来,我们来看一下,经过maven jar包的依赖配置,有哪些地方有变动了呢?
首先:工程下的文件.classpath下多了个 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
重新发布一下工程, 下图 WEB-INF目录中多了个lib文件夹,里面存放了maven配置的所有jar包文件
下载工程实例: 启动项目,访问路径: http://localhost:8080/SpringMvc/main/index.htm
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------