深入讲解Java|深入讲解Java Maven配置
目录
- 首先说明maven配置都是那些配置
- 1. pom.xml 配置
- 2. maven 的settings.xml
- a. mirrors
- b. servers
- c. profiles
- 总结
首先说明maven配置都是那些配置
1. pom.xml 配置
pom.xml 配置主要分为两类,一类是用于配置自己的实际依赖, 二类仅仅用于声明一些版本和仓库便于版本管理和发布。
在我们java工程里面有一个pom.xml 这里面主要配置工程的依赖库,pom配置是可以被继承的,如果是父级依赖一般是做版本控制以及指定私有仓库的。如下图: 下图主要是展示父pom 主要作用是版本控制以及私有仓库指定。
文章图片
文章图片
重点来了:
上图repository的id的作用是啥(作者当时很是迷惑,可以乱写那要id干啥),这个id实际会和maven settings.xml 的配置文件里面的mirrors 配置有关。
2. maven 的settings.xml
下面重点讲一下settings的配置
文章图片
如图settings 主要有mirrors servers 和profiles 三部分组成。
a. mirrors mirrors 主要作用是一个镜像代理,便于内外网厂库切换,或者单独配置内网使用。
如果pom中的repository的id能和mirrorOf的值关联上,那么url以mirror的为准,否则以repository中自己的url为准。
test-nexus * sugon local repository http://172.22.5.34:9996/repository/sugoncloud-public/
mirrorof 有三种值:
* 代表 所有仓库请求都走这个配置的镜像代理。
central 默认是maven 的仓库,如果其它镜像访问不到(这里是服务访问不到而不是没有依赖包)。
其它: 比如test 、native-repo 这些关联的是pom里面配置的私有仓库id。
b. servers servers 里面的配置 如下:
nexus-releases deployment 【深入讲解Java|深入讲解Java Maven配置】deployment123
这个配置的作用是它关联pom里面配置私有仓库的id, 在推送依赖包的使用根据id作认证的。
c. profiles profiles 主要是配置全局私用仓库。就不详解了,和pom类似配置如下:
nexus-aliyun public Public Repositories http://maven.aliyun.com/nexus/content/groups/public true true public Public Repositories http://maven.aliyun.com/nexus/content/groups/public true true
补充一个最重要的: 由于上文说到的父pom(版本控制) 子工程依赖就是依赖的父pom文件而不是jar包 如果只配置mirrors 是不能拉取父pom文件的,如果需要拉取父pom文件那么需要配置repository。
最后敬上参考地址:
Maven settings.xml中私有仓库配置浅析 - 简书
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 深入理解Go之generate
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 【1057快报】深入机关,走下田间,交通普法,共创文明
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 生发知识,带你深入了解
- Java|Java基础——数组