# Maven学习
# maven生命周期
项目构建时需要怎么操作等等
# dependency的scope属性
scope有5个值:
| scope | 释义 |
|---|---|
| compile | 缺省值,适用所有阶段,会随项目一起打包 |
| provided | 类似compile,在编译范围和测试范围可用,但不会随项目打包 |
| runtime | 编译不需要,但运行时需要,会随项目打包 |
| test | 只应用于测试范围 |
| system | 类似provided,但必须显式指定包含jar,不会去仓库lookup |
| import | 只能用于dependencyManagement中,用于导入package为pom的依赖管理 |
# maven配置
# 配置本地repository位置
修改conf文件中的settings.xml配置
修改<settings>标签内容如下:
<settings>
<localRepository>D:\my_code\maven_repository</localRepository>
</settings>
# 配置国内镜像仓库(阿里)
同样修改conf中的settings.xml配置
修改<mirrors>标签内容如下:
<mirrors>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirrors>
上面是全局配置,如果需要配置单个项目则按照如下配置(会覆盖全局配置):
<repositories>
<repository>
<id>central</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<layout>default</layout>
<!-- 是否开启发布版构件下载 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否开启快照版构件下载 -->
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
# 如何使用maven分析依赖树
$ mvn dependency:tree