世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
首先要注意,maven有两个重要的功能:项目构建和依赖管理。
1> 项目构建
基本功能:编译 - 测试 - 打包 - 安装 - 清理
具体命令:
mvn compile: 将.java文件编译成.class文件
mvn test: 测试
mvn package: 将项目打成jar包
mvn install: 将项目打成的jar包安装到本地仓库
mvn clean: 清理编译和打包的内容
除了clean,上面4个命令都是递进执行的,如果单独执行后面的命令,前面的也会自动执行。
咱们在本地打包时所用的命令:mvn clean package ,其实是清理与打包这两个命令的组合。
但是,这些功能到底是如何实现的呢?
其实这些功能在maven中都是以插件的形式实现的,即各种maven-plugin,当然还有其他maven-plugin提供的其他功能,这里就不多做介绍了。
2> 依赖管理
导入jar包的同时,也会导入这个jar包相关的依赖。
maven依赖中有jar包的坐标,通过坐标从仓库中将jar导入到项目。
maven坐标有三个元素:groupId(组织机构或组的Id)、artifactId(项目Id)、version(版本号)。这三个元素唯一确定一个jar在仓库中的位置。
maven仓库,就是以坐标的形式存储jar。