右击项目,选择properites,打开以下对话框
注意Project Facet选择顺序,不然可能导致Runtimes有Web服务器而显示不出来。从而导致
Deployment Assembly显示不出来。
右击项目,选择properites,打开以下对话框
能看到Deployment Assembly,说明已经配置成功了。
此时,右击Server视图,选择Add and Remove。
虽然此时我们可以发布到tomcat中,但这不符合maven的结构。我们还要做如下修改
把上图WebContent下面两个目录 META-INF ,WEB-INF 直接剪切到src/main/webapp目录下,并删掉WebContent目录,那么现在的项目结构如下图:
然后我们要修改发布规则,右键点击项目, 选择 Deployment Assembly
把WebContent remove掉,测试类我们也不需要发布,test的两个目录页可以remove
接着重新指定一个web的路径,点击add,选择Folder --> next
在src下找到webapp目录,然后finish
最后一步,我们要把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next
完成后如下图:
至此一个基于maven的webapp就建立好了,并可以直接从eclipse中发布到tomcat中
这里解释一下以上文件夹
src/main/java
该文件夹是存放java源码的,发布项目时会将该文件夹下的class文件复制到WEB-INF/classes目录下
src/main/resources
该文件夹一般放置配置文件,如xml,properties文件等,其实也可以放置java文件,只是一种约定罢了,发布项目时,该文件夹的文件也会复制到WEB-INF/class中
至于test,有些类似,只不过这些是测试代码,用过maven的应该会知道这一点
src/main/webapp
maven中约定是把该文件夹当成是普通web项目中的WebRoot目录,看看右边的deploy path,发布项目时,是发布到根目录/了。
参考资料:
http://zk1878.iteye.com/blog/1222330
http://blog.csdn.net/deamony/article/details/7378358