配置 Maven 项目使用 Nexus 仓库
第一种方法:
去maven 项目 helo-world 项目 配置pom.xml,在pom.xml配置 只有本项目才用到这个Nexus仓库
[root@ci-node2 ~]# cd /root/hello-world [root@ci-node2 hello-world]# ll total 4 -rw-r--r-- 1 root root 1683 Aug 26 2010 pom.xml drwxr-xr-x 4 root root 30 Oct 10 2009 src drwxr-xr-x 7 root root 188 Apr 22 01:12 target
第二种方法:
在maven配置文件配置,配置完所有项目都去Nexus仓库去拉,把Nexus作为中央仓库来处理,全局更好
在 maven 的 setting.xml 文件中配置私服配置,这种方式配置后所有本地使用该配置的
maven 项目的 pom 文件都无需配置私服下载相关配置
maven配置文件 setting.xml 在/usr/local/maven/conf
[root@ci-node2 hello-world]# cd /usr/local/maven/conf/ [root@ci-node2 conf]# ll total 16 drwxr-xr-x 2 root root 37 Nov 11 2015 logging -rw-r--r-- 1 root root 10216 Nov 11 2015 settings.xml -rw-r--r-- 1 root root 3649 Nov 11 2015 toolchains.xml
[root@ci-node2 conf]# vim settings.xml
在<profiles></profiles>之间加入下面的配置
分别配置 profile id(配置的标识),配置仓库 nexus
url 配置是
点击
点击maven-public
url配置 http://192.168.31.13:8081/repository/maven-public/ 地址
插件地址也是 http://192.168.31.13:8081/repository/maven-public/
<profile>
<id>my-nexus</id>
<repositories>
<!-- 私有库地址-->
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.31.13:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<!--插件库地址-->
<pluginRepository>
<id>nexus</id>
<url>http://192.168.31.13:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
添加了一组profile配置,配置了私有仓库和插件地址
现在要启动上面的配置:
在<settings></settings>之间加入下面的配置,激活使用上面的配置
启动上面的my-nexus配置 加上文件id
<activeProfiles>
<activeProfile>my-neuxs</activeProfile>
</activeProfiles>
注:profile 名字要对应
在<mirros></mirros>之间加入如下配置
加了id
url地址也是 http://192.168.31.13:8081/repository/maven-public/
<mirror>
<id>nexus-myself</id>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>*</mirrorOf>
<name>Nexus myself</name>
<url>http://192.168.31.13:8081/repository/maven-public/</url>
</mirror>
这段配置意思是只要访问中心仓库的东西,都去私服去访问,私服没有,再去中心仓库下载
然后wq保存 配置
配置完成后, 回到去maven 项目 helo-world 项目
[root@ci-node2 ~]# cd /root/hello-world [root@ci-node2 hello-world]# ll total 4 -rw-r--r-- 1 root root 1683 Aug 26 2010 pom.xml drwxr-xr-x 4 root root 30 Oct 10 2009 src drwxr-xr-x 7 root root 188 Apr 22 01:12 target
执行前先把.m2仓库删除,因为默认已经下载到.m2仓库,执行命令默认会找m2仓库,如果m2仓库有,就不去私服下载
[root@ci-node2 hello-world]# rm -rf /root/.m2/
执行 mvn clear 把上次构建清掉
地址改变了,前面下载都是在maven中央仓库下载,现在变成我们私服地址
私服没有,会去中央仓库下载,先下载到我们的私服,现在m2仓库也有了
当我们再次执行 mvn 命令时,下载构件的地址变为我们的私服地
现在仓库地址也有
现在 maven-public 库有东西了
我们再执行 mvn package
他会把更多的下载到我们本地,先下载到私服Nexus仓库里面,再下载到m2仓库
我们的私服也缓存了相应的构件在本地
原文地址:https://www.cnblogs.com/mingerlcm/p/12764713.html
- 从头编写 asp.net core 2.0 web api 基础框架 (2)
- hbase源码系列(四)数据模型-表定义和列族定义的具体含义
- RavenDb学习(四)处理文档相关性
- RavenDb学习(二)简单的增删查改
- RavenDb学习(九)高级特性下半部分
- RavenDb学习(三)静态索引
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
- 使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端
- 如何实现超高并发的无锁缓存?
- 使用Identity Server 4建立Authorization Server (5)
- 多库多事务降低数据不一致概率
- 利用Python实现DGA域名检测
- 一个“爆款”成功的API,都离不开这8条设计准则
- RavenDb学习(八)高级特性上半部分
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- IPinfo 多接口IP查询工具源码
- 教你CentOS7下如何更换内核安装BBR加速
- we-extract解析和采集微信公众号文章的账号及内容必备工具
- android九宫格可分页加载控件使用详解
- WordPress用插件实现MarkDown语法支持
- Android中实现长按照片弹出右键菜单功能的实例代码
- Android Studio无法执行Java类的main方法问题及解决方法
- PlayTube优秀的视频CMS系统/支持本地和youtube导入
- Android Studio 中运行 groovy 程序的方法图文详解
- android studio按钮监听的5种方法实例详解
- AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法
- 教你如何在js中split函数分割字符串为数组
- [折腾]小型HTTP web服务Caddy及配置PHP
- graftcp一种把指定程序的 TCP 流量重定向到代理的方法
- Flutter应用集成极光推送的实现示例