maven构建配置文件分为两部分:环境配置,构建配置。环境配置主要是仓库配置,构建配置主要是项目中pom 文件依赖的jar,构建流程配置。
1.仓库说明
仓库分为本地,远程仓库 。远程仓库又包含中央默认仓库,私服,其他远程仓库
asd
2.环境配置,环境配置分为全局,用户,项目是三个级别;构建的时候按照一定顺序读取仓库下载依赖
| 类别 | 文件位置 | 备注 |
|---|---|---|
| 全局级别配置 | maven/conf/setting.xml 中配置 | |
| 用户级别配置 | .m2/setting.xml | 很少用到 |
| 项目级别配置 | 项目目录下的pom 文件 |
3.配置说明
(1)本地仓库配置只有全局配置在maven/conf/setting.xml中 打开localRepository 默认是注释的;
<localRepository>/you/wanted/path</localRepository>
(2)远程仓库配置
中央仓库是默认的,无法修改但是可以给中央仓库,添加镜像;
<mirror>
<id>mirrorId</id> //镜像id 一般用于下载时显示
<mirrorOf>repositoryId</mirrorOf> //用于需要添加镜像的源id
<name>Human Readable Name for this Mirror.</name> //描述信心
<url>http://my.repository.com/repo/path</url>
</mirror>
例:镜像中央仓库到华为云
<mirror>
<id>huaweicloud</id>
<mirrorOf>central</mirrorOf> //代理中央库
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
<mirror>
<id>huaweicloud</id>
<mirrorOf>tainzehao</mirrorOf> //代理pom中设置的远程id为tianzehao的源
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
全局自定义远程仓库设置全profile仓库,通过 settings.xml 中的 settings.repositories.repository 配置;一般全局的profile要与activeProfiles标签联合使用
或者动态传进来
<profiles>
<profile>
<id>s_profile</id>
<repositories>
<repository>
<id>settings_profile_repo</id>
<name>netease</name>
<url>http://mirrors.163.com/maven/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles/> //通过这个标签来选择激活
私服也可以通过这个来定义远程仓库
项目级设置仓库,在项目pom中定义远程仓库地址
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
项目profile仓库,通过 pom.xml 中的 project.profiles.profile.repositories.repository 配置
总结仓库配置可以分为6中
| 名称 | 说明 | 配置方式 |
|---|---|---|
| 本地仓库 | 本机下载存储的路径 | maven/conf/setting.xml 标签localRepository |
| 中央仓库 | 无需设置有个默认id central | |
| 全局远程仓库 | 全局的远程仓库,可以用来搭建私服,优先获取仓库 一般与标签activeProfiles 连用 | 在maven/conf/setting.xml中配置 |
| 镜像仓库 | 镜像仓库可以镜像任何远程仓库只要id唯一对应,其实镜像仓库只是算个接口标签不算仓库 | 在maven/conf/setting.xml中配置 |
| 项目远程仓库 | 直接在写在项目中的仓库地址 | 由pom.xml 文件配置 |
| 项目profile远程仓库 | project.profiles.profile.repositories.repository 配置 |
重要总结
这些仓库搜索顺序是 local_repo(本地仓库) > settings_profile_repo(全局远程仓库) > pom_profile_repo(项目profile远程仓库) > pom_repositories(项目远程仓库) > settings_mirror(镜像仓库) > central(中央仓库)
这写都配置的情况下,是按照这个顺序收缩的
附:setting 标签配置说明
<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository/> //本地仓库
<interactiveMode/> //maven 需要与用户交互 true
<usePluginRegistry/> //如果需要让Maven使用文件${user.home}/.m2/plugin-registry.xml来管理插件版本,则设为true。默认为false
<offline/> //是否需要在离线模式下运行
<pluginGroups/> //供搜寻插件组织Id(groupId)的列表
<servers/> //私服的服务器验证信息
<mirrors/> //镜像设置
<proxies/> //
<profiles/> //配置文件
<activation> //激活profile 能获取到一些系统参数
<repositories> //远程仓库员
<pluginRepositories>
<properties>
<activeProfiles/> //profile的开启钥匙
</settings>









网友评论