Maven教程--快速入门
最近一段时间准备整理下Maven相关的知识,受前面几次野心太大的教训,这次没写一篇就发一篇,不再一直憋着等到后面一起发布。本篇文章是一个使用入门的教程(至于安装和配置,已经有很多教程了,这里就不再赘述了)
什么是Maven
对于这个话题,官方有很多解释,但很多的解释都不是很好理解,既然这里是个人的博客,我就怎么容易理解怎么写。
从简单的角度去理解maven,可以简单的理解成一种项目的管理方式(如同vs中的项目文件,不过vs封装的更好一点),从一个项目的角度来考虑,项目主要包含源代码,资源文件,配置文件他其他的相关引用,如何管理这些文件呢? 我们很自然的可以想到把项目的文件和引用放到一个文本中,当编译器再次加载项目的时候就不用再重新扫描文件目录。
对于这个文本格式,我们很自然的想到用json或者xml格式去存储,这样就很容易明白为什么我们要使用Maven了。 讲到这里也不得不把官方的解释拿过来:
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.
翻译过来就是:
Apache Maven是一个软件项目管理和逻辑工具。基于项目对象模型(POM)的概念, 可以用来管理项目的构建, 信息中心的报告和文件 。
Maven的在windows和Linux下的安装,这里就不多说了,网上有很多图文并茂的教程,这里就不多说了,也不做推荐了
Maven的快速入门
Maven是一个项目管理工具,对于工具来说只有使用的时候才能更好的理解它,这里我们先不将任何概念,先说说如何使用Maven。
使用Maven命令创建一个新的Maven项目:
1 | mvn archetype:generate |
在选择项目Number和Maven版本的时候,由于Maven已经直接帮我门选好,我们可以直接按回车确认(1107的quickstar),后面需要我们输入GroupId,ArtifactId和其他的一些相关信息,可以使用如下:
在最终确认的时候,我们等待Maven创建完项目,项目创建完成后,我们使用tree命令来看下Maven生成的项目目录。
可以看到Maven的quickstart已经给我我们创建好了相关的目录和代码,看下对应生成的代码:
运行Maven Install 命令,把当前的程序安装到本地仓库。运行完成后,我们查看生成后的项目目录结构如下:
Maven常用命令
对于maven常用的命令,我们需要对maven的其他只是进行了解。
Maven的生命周期
maven的强大在于他完整的生命周期,这里就不全部列出来所有的周期,挑几个重要的列出来:
名称 含义 1. process-resources 复制并处理资源文件,至目标目录,准备打包。 2. compile 编译项目的源代码。 3. process-classes 复制并处理资源文件,至目标测试目录。 4. process-test-resources 复制并处理资源文件,至目标测试目录 5. test-compile 编译测试源代码 6. test 框架运行测试 7. package 打包 8. install 安装本地仓库 9. deploy 发布到远程仓库 常用命令的使用
命令 含义 mvn archetype:generate 创建maven项目 mvn compile 编译源代码 mvn test-compile 编译测试代码 mvn test 运行应用程序中的单元测试 mvn site 生成项目相关的网站 mvn clean 清除目标目录生成结果 mvn package 生成jar包 mvn install 安装本地仓库