我们在上一次的分享中,讲解了Maven的环境变量配置及在IDEA中的集成,今天呢,就来给大家分享一下Maven的使用.Maven有两种使用方式,第一种呢,比较原始,就是直接在cmd的命令行窗口中去使用,第二种呢,就是在IDE(Eclipse或IDEA都行)中去使用.一般来说,我们都会在IDE里去使用。我们打开IDEA,点击创建新项目
在弹出的窗口中左侧选中Maven,然后直接下一步,填入我们的GroupId和ArtifactId,点击下一步,最后点击确定.这里对GroupId和ArtifactId做一个解释:
GroupId:一般来说,GroupId是公司或组织域名的倒装,比如我们的域名是shangzengedu.top,这里GroupId就是top.shangzengedu.
ArtifactId则是我们的项目名称,比如这里我起名叫test_m
刚生成的项目结构如下图所示,在上一次我们提到过,Maven是约定大于配置的,所以这里呢
src/main/java在约定里是放源代码的地方,
src/main/resources则是放配置文件的地方,
src/test则是放测试代码的地方,
pom.xml则是Maven配置的中心,我们的依赖,插件等的配置都是放在这个文件里,初始化的配置如右图所示:
而这些约定的信息,则是放在maven-model-builder-3.6.0.jar包里,我们可以将这个包从Maven的lib目录下复制出来,然后解压, 在maven-model-builder-3.6.0\org\apache\maven\model目录里,有个pom-4.0.0.xml,我们打开,会发现里面有这么一段信息,如下图所示:
在这里面指定了我们项目中能常用到的一些目录,有些是ide帮我们创建好的,有些是ide没有帮我们创建,但我们可以使用的,比如说脚本目录等.当然这个文件里不止这些,还有插件和仓库的声明,这些我们以后会提及到.
我们转回到新建的那个项目,然后在里面新建一个日期转换的工具类来做测试,代码如下图所示,我们引入Junit来做单元测试,pom修改如下右图所示:
我们现在编写单元测试,如下所示:
现在准备工作已经就绪,在没有使用maven的时候,我们编译打包前,可能需要手动的去执行单元测试,来监测,现在我们用了maven,就可以直接执行打包命令,在idea中我们可以打开maven窗口,然后双击package,日志如右图所示,在这里我们看到Maven在打包前自动帮助我们做了测试的工作,并且出了测试报告,说运行了两个失败0个,错误0个跳过0个
我们现在修改一下我们的单元测试,让他出错,看看有什么效果,代码如下图所示:
重新打包,发现打包日志如下图所示,告诉你打包失败,原因是因为单元测试失败了
在打包成功之后,会在我们的target里输出相应的文件,包括我们的jar包,也包括编译后的文件,如下图所示,其实不只是打包,编译命令和测试命令都会在这里 进行文件输出
截止到这里,我们已经使用到了Maven的几个优势,第一个是我们在pom里添加的Junit的依赖,这是Maven的第一个优势,依赖管理,后续我们会讲.第二个就是 我们在构建打包的时候,他会自动帮助我们进行测试功能,这是怎么实现的呢?
这里就用到了Maven的生命周期概念,和Maven的插件概念,我们在下次分享.