1. 安装Maven(配置Maven环境变量+Eclipse中的Maven插件)
这步就不多说了,网上一搜一大把,要说明的只有一点,第一次配好Maven插件,一定要更新一次远程库的索引,这样添加依赖的时候就不会出现搜不到那个jar包的情况了(当然要先启用远程库的index,不然也搜不到jar包的)
2. 新建Maven项目、配置
新建了Maven项目后,属性->Project Facets->”convert to faceted form…”,在随后出现的Project Facet中勾选如下2项,注意选择后面的version:
选择好了,确定,在次打开项目->属性,可以看到多了一个Deployment Assembly 选项,打开可以看到这里配置的是文件夹和发布文件夹的对应关系
由于maven打包时默认从src/main/webapp目录下面取web.xml文件,我们还要手动在下面建立一个这样的文件。
3. 配置调试的服务器(Apathc Tomcat)
如下图所示,Eclipse中新建一个Tomcat容器:
3. 运行Maven项目
经过上面的配置,是不是就可以运行我们的maven项目了呢??当然可以。
选择了上图所示的“Run on Server”后可以运行我们的Maven项目了。
4. 剩余问题
(1)、我们浏览器输入“http://localhost:8080/ssh2/index.html”返回404??
不要急,可以到工作空间的目
录.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps下面看到有个我们的maven项目名称的文件夹,这是我们调试时自动发布的目录,可以看到下面并没有我们添加的页面,神马情况??
这是我们没有配置src/main/webapp的发布目录,所以调试时也没有把下面的html 等内容发布
解决:
项目—> 属性-> Deployment Assembly -> Add -> folder -> 选择
src/main/webapp
这一步就是配置webapp目录要发布到项目的根目录下,我们再看
到.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ssh2目录下面有自动发布的html文件
刷新浏览器页面,OK页面出来了!!!
(2)、是不是这样就OK了??答案是否定的。
我们在pom.xml中添加了那些依赖的jar后,一旦在代码中应用。
当我们本地调试时,会报ClassNotFound错误,这是为什么??
因为Tomcat不懂这些配置,你必须把Maven Dependencies中的jar与发布目录配置好:
项目—> 属性-> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK
这一步就是配置Maven依赖包发布目录,这样调试时会自动把那些jar发布到指定目录下,tomcat也能找到那些jar了。
1、在安装了m2eclipse插件并配置好maven-tomcat-plugin后,单击Eclipse 菜单“Run”中的“Run Configurations”。
2、在弹出的对话框中的左侧树中找“到Maven Build”,在其上点击右键并单击“New”。
3、在右侧的“Name”一栏填入自定义的名称。
单击在“Main”选项卡的“Browse Workspace”按钮,选择目标项目,选择后在“Base directory”一栏中会出现形如“${workspace_loc:/project_a}”的内容(project_a是前文所述应用项目A,它会根据你所选的目标项目而改变)。
4、在“Goals”一栏中填入“tomcat:run”。
5、在“Maven Runtime”选择你需要的Maven环境(注意:必须是2.0.8以上的版本)。
6、单击“Apply”,配置完成。
经过测试,通过以上配置,在eclipse自身的Run(“右箭头”)和Debug(“小虫子”)按钮下都会找到以你先前配置中“Name”值为名的条目(条目最前端也会有“m2”标识),单击之后即可启动基于Tomcat之上的相应项目的运行操作或调试操作。
至于是运行项目还是调试项目,只取决于你单击的条目是在“右箭头”按钮下还是在“小虫子”按钮下。
从这方面来看,他们还是很智能化的。
其实上述配置并不复杂,我相信读者按照以上步骤去做是完全可以搞定的。
分割线之前的问题是想引发大家关于软件易用性、兼容性方面的的一些思考。
希望对这两点有兴趣的朋友回帖探讨。