maven术语
在我们上一篇中已经知道了在Intellij idea下是如何使用Maven的了,创建出来的目录结构是这样子的:
上面的目录结构就是Maven所谓的”约定“,我们使用Maven来构建Java项目,都是这种目录结构的…
接下来我们来了解一下Mavaen一些常用的术语
仓库
本地仓库
- Maven会把我们项目所构建出来的jar包等等资源存放在本地仓库中。当我们需要jar包的时候,Maven第一时间也是去本地仓库中寻找jar包
中心仓库:
-* 当Maven在本地仓库和私服找不到我们需要的jar包的时候,就去中心仓库中帮我们下载对应的jar包*。那Maven怎么知道去哪里下载呢??其实Maven已经配置好的了
apache-maven-3.2.1\lib\maven-model-builder-3.2.1\org\apache\maven\model下的POM.xml文件中已经配置好了
central Central Repository http://repo.maven.apache.org/maven2 default false central Central Repository http://repo.maven.apache.org/maven2 default false never
私有服务器
- 存储一些jar包的服务器,由于本地仓库不可能拥有大部分的jar包,一个团队要去开发,免不了总是去中心仓库下载,这就非常耗费时间了。如果私有服务器拥有这些jar包,那么每台电脑就不用去中心仓库中下载了…
maven软件构建的生命周期
软件的生命周期就是以下
-* 清除–> 编译–>测试–>报告–>打包(jar\war)–>安装–>部署*
maven生命周期命令插件
当我们使用idea环境下开发,maven生命周期的插件就非常清晰了…
maven坐标
坐标的组成: groupId + artifactId+ version
- groupId:组id ,机构名,公司名:好比公司的id,或者是公司包名 alibaba ——-》高德–》5.01版本
- artifactId:构建物id ,产品名或者产品的id
- version :版本号
jar包组成:
artifactId-version.jar
pom.xml介绍
pom.xml介绍 :project object model 项目对象模型 ,它是maven核心配置文件
当我们把上面的术语了解完以后,对下面pom.xml配置文件就不会感到陌生了。
4.0.0 zhongfucheng3 zhongfucheng3 1.0-SNAPSHOT
如果我们想要我们的项目能够有Junit测试的开发包,我们只要指定对应的jar包依赖就行了..
scope应用范围有test、compile等等,默认是compile,那么test和compile有什么区别呢?
- 间接依赖问题 :依赖的jar包必须是 compile 范围,假如是test范围,则发布的jar包不会包含test范围依赖的jar包,和依赖关系
test