eclipse中用maven创建web项目
上一节中完成了本地的maven环境搭建,在eclipse中怎么创建一个maven项目呢
一.eclipse中配置maven环境
eclipse版本4.3
1.打开菜单Help->Eclipse Marketplace,打开有点慢,耐心等待,在find处输入maven,点击enter搜索,找到maven integration for eclipse,点击install安装,我安装过了,所以显示的是更新和卸载.安装完毕后重启eclipse.
2.eclipse菜单中选择Windows->Preferences->Maven->Installations,此时可以看到默认集成的maven版本是3.0.4
之前已经在本地安装了maven3.0.5环境,所以更改使用自己安装的maven环境,点击add,找到自己之前的maven3.0.5安装目录,注意选择到根目录就可以了
将上面的settings.xml的路径复制,再选择maven->User Settings,将路径粘贴到第一个文本框中,然后确定保存.
此时在eclipse中集成maven插件就完成了.
二.创建maven的web项目
1.右键->new->other,找到maven,选择maven project->next.
2.直接点击next
3.选择maven-archetype-webapp后,点击next,注意,可以在filter中先输入webapp,这样就能快速找到maven-archetype-webapp选项,如果此时列出来的选择项仍然很多,
就盯着version看,找version是release的
4.输入groupid,artifact id和packgage,点击finish,然后耐心等待,第一次新建maven会有很多依赖包要下载,所以会比较慢.取决于你的网速和电脑配置.
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为com.acgg,artifactId设置为testMaven,表示你这个项目的名称是testMaven,依照这个设置,你的包结构最好是com.acgg.testMaven打头的.当然你的package可以不是这个,也可以自由输入,输入后你新建的项目默认就会有对应的包.
5.项目创建好之后,默认的目录是这样的,至此项目就创建成功了.
三.项目配置
1.maven项目是应该有
src/main/resources
src/main/java
src/test/java
这几个Source Folder的,我们新建的项目却只有src/main/resources一个文件夹,当我们右键->new-> source folder时,输入src/main/java时却提示已存在.但是目录中并没有显示这个文件夹,我们右键->build path->configure build path->sources,会发现这两个文件夹其实已经建好了,但显示的红叉,后面标注着missing.
此时我们再切回libraries,选中JRE System library,点击edit
选择workspace default JRE,点击finish,再点击OK
此时我们会神奇的发现,那两个文件夹又显示出来了,不要问我为什么,就是这么奇怪....
2.将项目转换成Dynamic Web Project
右键->Properties->project Facets,点击Convert to faceted from
此时勾选Dynamic Web Module ,java已经默认勾选过了,你可以在version中选择你要的jdk版本和web版本.并点击further configuration available...
修改Content directory 为 src/main/webapp ,单击OK:
之后再点击ok完成web项目转换.
3.设置部署程序集
右键->Properties->Deployment Assembly
将test的目录删掉,测试所用,无需部署
然后设置将Maven的jar包发布到lib下
Add -> Java Build Path Entries -> Maven Dependencies -> Finish->OK.
这样一个web项目就搭建完成了,项目路径如下:
输入http://localhost:8080/testMaven/访问成功.