maven pom.xml和setting.xml里面标签的一些概念
1.repositories概念
-
local
运行在计算机上的目录。它缓存远程下载并包含您尚未发布的临时构建工件 -
remote
任何其他类型的存储库,可以通过各种协议访问,例如file://和https://。可能是由第三方设置的真正远程存储库,以提供他们的工件供下载(例如,rep o.maven.apache.org)。可能是在公司内的文件或 HTTP 服务器上设置的内部存储库,用于在开发团队之间共享私有工件和用于发布。
2.pom.xml
2.1 repositories
-
默认自带:id:central;uri=https://repo.maven.apache.org/maven2的repositories
-
releases
- 稳定的发行版本
- 发布
- 自动发布到正式版本库中
- 使用
- 如果本地已经存在该版本的模块则不会主动去镜像服务器上下载。
-
snapshots
- snapshot快照仓库用于保存开发过程中的不稳定版本
- 发布
- 会自动发布到快照版本库中,会覆盖老的快照版本
- 使用
- 在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。
2.2 profile
- 环境,相当于spring.profiles
- id:编号
- activation
根据条件匹配是否触发该环境,相当于spring.profiles.active.
activeByDefault:true必然触发
其他:相当于该环境下的执行的配置
2.3 distributionManagement
打包上传
3.setting.xml
3.1 server
用于配置pom的repositories和 distributionManagement的username和password
3.2 mirror
在不想更改pom的前提下,用于替换掉pom的repositories
- mirrorOf: repositories的ID
aaa 代表id为aaa的repositories
* 所有
external:* 非本地,且非文件系统
aaa,bbb 多个逗号分隔
*,!aaa 所有但不包括aaa
- 因为是替换repositories,所以优先级比repositories高,如果mirrorOf是*,优先级最高
3.3 profile
截断pom.xml的profile