maven配置多个nexus库
maven配置多个nexus库
背景介绍
部门A搭建了自己的nexus服务,旧项目都在使用这个旧nexus(ip:8081)。
后应公司号召,新的项目使用了公司新的nexus(nexus.com)。Jenkins编译打包的时候
旧的项目需要旧nexus(ip:8081),新项目需要使用新nexus(nexus.com)。
操作和配置
分为2部分配置:
一个是新项目中pom.xml文件需要配置新nexus(nexus.com)。
一个是maven的setting.xml中需要增加新nexus(nexus.com)的
新项目pom.xml的配置
<repositories>
<repository>
<id>tbc-nexus</id>
<name>tbc nexus</name>
<url>http://nexus.com/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<updatePolicy>always</updatePolicy>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>tbc-releases</id>
<name>tbc-releases</name>
<url>http://nexus.com/repository/tbc-releases/</url>
</repository>
<snapshotRepository>
<id>tbc-snapshots</id>
<name>tbc-snapshots</name>
<url>http://nexus.com/repository/tbc-snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意:pom.xml中的这几个id是需要用到maven的setting.xml中的
<id>tbc-nexus</id>
<id>tbc-releases</id>
<id>tbc-snapshots</id>
setting.xml配置
# cp setting.xml newsetting.xml
# vi newsetting.xml 增加新配置:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/data/maven/repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
新增加配置开始
<server>
<id>tbc-releases</id> 这个地方要与pom.xml一致
<username>用户名</username> 登录nexus.com的账户密码
<password>密码</password>
</server>
<server>
<id>tbc-snapshots</id> 这个地方要与pom.xml一致
<username>用户名</username> 登录nexus.com的账户密码
<password>密码</password>
</server>
新增加配置结束
<server>
<id>releases</id>
<username>账户</username>
<password>密码</password>
</server>
<server>
<id>snapshots</id>
<username>账户</username>
<password>密码</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://ip:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<!-- 旧的私有库地址-->
<repository>
<id>releases</id>
<url>http://ip:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--旧的插件库地址-->
<pluginRepository>
<id>releases</id>
<url>http://ip:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
新增加配置开始
<profile>
<id>tbc-nexus</id> 这个地方要与pom.xml一致,activeProfile也需要配置一样
<repositories>
<!-- 新的私有库地址-->
<repository>
<id>tbc-releases</id> 这个地方要与pom.xml一致
<url>http://nexus.com/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--新的插件库地址-->
<pluginRepository>
<id>tbc-releases</id> 这个地方要与pom.xml一致
<url>http://nexus.com/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
新增加配置结束
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
新增加配置开始,激活
<activeProfile>tbc-nexus</activeProfile> 这个地方要与pom.xml一致
新增加配置结束
</activeProfiles>
</settings>
Jenkins上配置maven
将配置路径指定到我编辑的newsettings.xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)