一、surfire:神义,一定会成功的!
surefire 插件用来在maven构建生命周期的test phase执行一个应用的单元测试。它会产生两种不同形式的测试结果报告:
1).纯文本
2).xml文件格式的
默认情况下,这些文件生成在工程的${basedir}/target/surefire-reports,目录下(basedir指的是pom文件所在的目录)。 它可以运行任 何 testNG,Junit,pojo写的单元测试。
二、怎么样创建一个Maven项目?
ALT+F5可知报错的原因
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,
如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为cn.pq,cn表示域为中国,pq是我个人姓名缩写,artifactId设置为FirstTestSpring3,表示你这个项目的名称是FirstTestSpring3,依照这个设置,你的包结构最好是cn.pq.FirstTestSpring3j打头的,如果有个StudentPeng,它的全路径就是cn.pq.FirstTestSpring3.StudentPeng
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为cn.pq,cn表示域为中国,pq是我个人姓名缩写,artifactId设置为FirstTestSpring3,表示你这个项目的名称是FirstTestSpring3,依照这个设置,你的包结构最好是cn.pq.FirstTestSpring3j打头的,如果有个StudentPeng,它的全路径就是cn.pq.FirstTestSpring3.StudentPeng
三.Maven的生命周期?
一个项目经历了编译、测试、打包、发布等生命周期的过程,称为项目构建。
在Maven中有三套独立的生命周期:
- Clean Lifecycle:在进行真正的构建之前进行一些清理工作
- Default Lifecycle:构建的核心部分,编译、测试、打包、部署
- Site Lifecycle:生成项目报告、生成站点、发布站点
第一个和第三个比较简单也比较好理解,看一下Maven的最重要的Default生命周期,绝大部分工作都发生在这个生命周期中,在这个阶段中,比较重要和常用的阶段有:
- validate
- generate-sources
- process-sources
- generate-resources
- process-resources:复制并处理资源文件至目标目录,准备打包
- compile:编译项目源代码
- process-clases
- generate-test-sources
- procss-test-sources
- generate-test-resources
- process-test-resources:复制并处理资源文件至目标测试目录
- test-compile:编译测试源代码
- process-test-classes
- test:使用合适的单元测试框架测试运行,这些测试代码将不会被打包或部署
- prepare-package
- package:接受编译好的代码,打包成可发布的格式,如jar
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install:将包安装至本地仓库,以便让其它项目依赖
- deploy:将最终的包复制到远程仓库,以便让其它开发人员与项目共享
基本上,只要根据名称我们就可以猜测出每个阶段的用途。要记住的是,任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn clean install的时候,代码会被编译、测试、打包。
此外,Maven的插件机制是完全依赖Maven生命周期的,因此理解生命周期至关重要。