管理项目生命周期
需求
问题1:开发人员将功能开发完成,编译、打包、运行正常,而后提交到svn,测试人员从svn获取代码后编译、打包、运行报错。
解决方案:maven对项目生命周期进行定义、规范,开发人员和测试人员使用maven软件完成构建。
创建maven工程(java工程)
点击【File】菜单选项,并在下拉框中选中【New】,接着点击【Other】,如下:
在输入框中输入maven,并选择Maven Project,如下:
点击【Next】,选择maven工程所存放的位置,在此我将其存到默认工作区间中。
点击【Next】,出现如下对话框,在该对话框中选择一个原型(即骨架),maven内部提供了很多项目原型,方便我们去创建项目。
点击【Next】,出现如下对话框,在该对话框中定义maven工程的坐标,如下:
下面我对这一步详细解释一下。maven对所有工程管理都是基于坐标进行管理的,坐标包括:
- Group Id:项目的名称,项目名称以域名的倒序命名(类似java包名),比如我们要创建一个CRM的项目,可写为cn.itcast.crm。
- Artifact Id:模块名称(子项目名称)。
- Version:项目当中模块的版本,snapshot(快照版或测试版,没有正式发行)、release(正式发行版本)。
- Package:包是什么呢?就是你在创建这个工程的时候,它会默认帮你创建一个App的类,但这个类是一个无关紧要的类,而是一个测试文件的类,它会被放在一个包里面,如果没有这个包,就会放在src根目录下,如果有这个包,就会放在这个包下。
最后点击【Finish】,可发现新创建的maven工程的目录结构如下:
注意:新创建的maven工程的目录结构不是一个完整的目录结构。maven工程的一个完整的目录结构为:
- 6
- 7
所以新创建的maven工程的目录结构要完整,必须按照下面步骤操作。
右键maven工程→【New】→【Other】,在弹出的对话框中输入so...
,选中Source Folder:
点击【Next】,在弹出的对话框中输入src/main/resources
,即在maven工程下创建一个src/main/resources
目录。
同理也要在maven工程下创建一个src/test/resources
目录,如此一来新创建的maven工程的目录结构就变成:
接下来,我们还要手工指定编译输出目录,右键maven工程→【Properties】→【Java Build Path】→【Source】选项卡,在弹出的对话框中进行设置:
这样弄好之后,maven工程的一个完整的目录结构为:
最后我们来设置maven的编译版本,由于我使用的是JDK1.8,所以要设置maven的编译版本为1.8,即要在maven工程的pom.xml文件中添加如下配置:
maven运行的时候都是依赖于插件的,包括编译也是需要通过插件——org.apache.maven.plugins(该插件就在你的本地仓库)来完成。
添加完如上配置之后,可发现我们的maven工程上面有一个红叉,如下所示:
这时我们需要Update Project,即根据pom文件的定义来更新我们的maven工程。
更新maven工程,变成这样:
这即表明我们新建的maven工程的编译版本设置成功!