惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
L
LINUX DO - 最新话题
Help Net Security
Help Net Security
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
W
WeLiveSecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tor Project blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
S
SegmentFault 最新的问题
J
Java Code Geeks
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 【当耐特】
博客园_首页
H
Hacker News: Front Page
T
Threatpost
Jina AI
Jina AI
博客园 - Franky
月光博客
月光博客
L
LINUX DO - 热门话题
The Cloudflare Blog
H
Heimdal Security Blog
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
Cloudbric
Cloudbric
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
S
Secure Thoughts
T
Tenable Blog
I
Intezer
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

二丫讲梵

学习周刊-总第258期-2026年第15周 学习周刊-总第257期-2026年第14周 学习周刊-总第256期-2026年第13周 学习周刊-总第255期-2026年第12周 学习周刊-总第254期-2026年第11周 学习周刊-总第253期-2026年第10周 临时插播一条羊毛,免费领取450元大模型API代金券 学习周刊-总第252期-2026年第09周 学习周刊-总第251期-2026年第08周 学习周刊-总第250期-2026年第07周 学习周刊-总第249期-2026年第06周 诚邀评论,聊聊你所知欲知的我 学习周刊-总第248期-2026年第05周 我的QQ动态之2015年 我的QQ动态之2014年 我的QQ动态之2013年 我的QQ动态之2012年 我的QQ动态-2010-2011年 我的QQ动态-创栏小叙 学习周刊-总第247期-2026年第04周 Nexus社区版权益阉割--一文告诉你有哪些版本可以选择 学习周刊-总第246期-2026年第03周 学习周刊-总第245期-2026年第02周 学习周刊-总第244期-2026年第01周 学习周刊-总第243期-2025年第52周 学习周刊-总第242期-2025年第51周 开源项目ZenOps:带你领略禅意运维 学习周刊-总第241期-2025年第50周 用京东金融,享负债人生 学习周刊-总第240期-2025年第49周 学习周刊-总第239期-2025年第48周 整理我在静态服务透明代理上的极致求索之路,最后一个你绝想不到 学习周刊-总第238期-2025年第47周 我们输了,但收获颇多 太多了,太多了 学习周刊-总第237期-2025年第46周 学习周刊-总第236期-2025年第45周 学习周刊-总第235期-2025年第44周 二五年国庆二三事 学习周刊-总第234期-2025年第43周 学习周刊-总第233期-2025年第42周 学习周刊-总第232期-2025年第41周 学习周刊-总第231期-2025年第40周 学习周刊-总第230期-2025年第39周 西湖毅行 2025年开源世界逸闻三则 学习周刊-总第229期-2025年第38周 手抄《与妻书》 CNB开发与构建基于docker-cache缓存复用的配置实践心得 学习周刊-总第228期-2025年第37周 父亲善行录 学习周刊-总第227期-2025年第36周 带你认识我之看看我的高中同学录(其二) 学习周刊-总第226期-2025年第35周 带你认识我之看看我的高中同学录(其一) 认识神级MCP工具系列--用anyquery和数据库交互 学习周刊-总第225期-2025年第34周 学习周刊-总第224期-2025年第33周 学习周刊-总第223期-2025年第32周 学习周刊-总第222期-2025年第31周 学习周刊-总第221期-2025年第30周 CNB云原生开发环境届的瑞士军刀,详解qifei项目 vuepress-vdoing主题配置自建不蒜子统计 学习周刊-总第220期-2025年第29周 写在博客发表文章1000篇的节点 从claude cli的体验聊聊最大的敌人是我们自己的成见 学习周刊-总第219期-2025年第28周 学习周刊-总第218期-2025年第27周 学习周刊-总第217期-2025年第26周 理论正确,事实错误 学习周刊-总第216期-2025年第25周 学习周刊-总第215期-2025年第24周 学习周刊-总第214期-2025年第23周 学习周刊-总第213期-2025年第22周 学习周刊-总第212期-2025年第21周 从赵心童世锦赛夺冠聊聊我的斯诺克情缘 学习周刊-总第211期-2025年第20周 记录二五年五一之短暂回归家庭 学习周刊-总第210期-2025年第19周 学习周刊-总第209期-2025年第18周 学习周刊-总第208期-2025年第17周 Go开发实践之Gin框架将前端的dist目录embed到二进制 学习周刊-总第207期-2025年第16周 近期关于cobra库的一些实践心得总结 学习周刊-总第206期-2025年第15周 我的嗜好--嗑瓜子 记大宝参加幼儿园组织的清明烈士陵园扫墓活动 学习周刊-总第205期-2025年第14周 学习周刊-总第204期-2025年第13周 前端开发小笔记--在数组中给字段添加值与删除字段的操作 学习周刊-总第203期-2025年第12周 人生实苦,何以自渡 学习周刊-总第202期-2025年第11周 近期发现的一些优秀的工具提名(一) 学习周刊-总第201期-2025年第10周 学习周刊-总第200期-2025年第09周 记一次女友喝醉使我忍术破功 爱情风波--一次分手又复合的经历 学习周刊-总第199期-2025年第08周 整理我的信息源
nexus2.x升级到3.x之后仓库地址改变的问题探索
二丫讲梵 · 2023-05-21 · via 二丫讲梵

历史工作经历中,我已处理过两次将 nexus 从 2.x 升级到 3.x 的操作,这两次操作,都是参考的 maven 私服 nexus2-14-5 迁移到 nexus3-7-1 (opens new window) 这篇文章,按照文章记录的步骤,总体迁移还都是比较顺利的。

# 升级失败

升级过程中唯一遇到过的问题是,在同步的过程中,遇到过一个报错信息:Cannot execute query "SELECT * FROM quartz_trigger WHERE state IN [ ?,?,? ]": low heap memory,不知道这个错误信息是不是真正的表象,总之使用默认配置启动新的 nexus 升级过程中就会遇到这样的问题,解决的方案是,你的新 nexus 主机配置最好不低于 4C8G,然后调整内存大小:

$ cat bin/nexus.vmoptions

-Xms4096M
-Xmx4096M
-XX:MaxDirectMemorySize=6G

1
2
3
4
5

重启之后,再次重复升级的配置步骤,就能够成功同步了。

# 仓库地址变化

升级完成之后,nexus2 与 nexus3 对同一仓库的访问地址是有变化的,大概变化如下:

nexus2
	http://nexus2.eryajf.net/nexus/content/groups/public
nexus3
	http://nexus3.eryajf.net/repository/public/

1
2
3
4

稍微拆解一下两者的命名规范:

  • nexus2
    • /nexus : 这是 nexus2 启动的时候,在配置中固定了 path。
    • /content :类似 nexus3 中的 repository,是一个拼接在主 URL 之后的固定标识。
    • /groups :用于表示这是一个 group 类型的仓库。如果是 host 或 proxy 类型,则为 repositories
    • /public :这一层才是仓库真正的名字。
  • nexux3 - 默认启动的时候,没有带 /nexus。 - /repository :对标 nexus2 中的 /content,这是 nexus3 中的固定标识。 - /public :这一层才是仓库真正的名字。 可见在 nexus3 中对仓库命名进行了一些改变,改变了主固定标识,并去掉了 /groups 这一层的标识。

了解到了这个区别之后,在遇到升级之后的使用问题时就能清楚地定位到问题原因了。

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

# maven 打包

如果你的公司统一使用 maven 进行打包构建,那么你只需要在打包的机器上,在 maven 的 settings.xml 中将原来的 http://nexus2.eryajf.net/nexus/content/groups/public 改为 http://nexus3.eryajf.net/repository/public/ 即可,这个时候项目打包拉取依赖是不会受到任何影响的,但有一个需要注意的点在于:这个更改你也同时需要同步给开发者,让他们把自己本地指向原来的地址也一并改掉,否则将会以 nexus2 风格的 URL 在 nexus3 中检索依赖,肯定就会遇到找不到包的错误了。

# gradle 打包

gradle 打包风格的项目,通常私服地址的配置在每个项目根目录下的 build.gradle 文件中配置,这个时候要想改掉指向私服的 URL,可能就不是一个轻松的工作了,官方也提供了一个 nexus3 兼容 nexus2 命名风格的参数,从而让你在升级了 nexus 之后,不需要更改原来的配置,就可以使用新的版本:

$ cat etc/nexus-default.properties
### 文件中其他配置这里不陈列了

# 将访问URL后边的nexus配置上
nexus-context-path=/nexus

# 添加该配置,兼容 nexus2 的 URL 规范
org.sonatype.nexus.repository.httpbridge.internal.HttpBridgeModule.legacy=true

1
2
3
4
5
6
7
8

添加了配置之后,重启 nexus3 服务,这个时候,项目中仍旧使用 nexus2 风格的地址,但并不会影响拉包构建。

参考链接:migrating NXRM2 to NXRM3 automatically enables legacy content URLs (opens new window)