Linux怎么安装Nexus_Linux如何搭建Maven私服仓库【方法】

秋雪小哥_8056

秋雪小哥_8056

2026-04-09

756人浏览

原创

推荐使用官方 docker 镜像部署 nexus3,因其省去手动配置 java/tomcat、环境隔离、一键启停;需挂载 /nexus-data 卷并赋权 uid 200,首次登录后必须修改 admin 密码,且 maven 的 settings.xml 中 server id 必须与 pom.xml distributionmanagement 中 id 完全一致,否则 401;release/snapshot 包须对应正确仓库类型,且 hosted 仓库的 deployment policy 需按需开启。

linux怎么安装nexus_linux如何搭建maven私服仓库【方法】

直接用官方 Docker 镜像最省事,别硬装 Java + Tomcat + Nexus 手动部署

官方早就不推荐传统 WAR 包部署方式了,nexus3 从 3.0 开始只提供 docker 和 tar.gz 两种分发形式,而 tar.gz 方式仍需手动管理 JVM 参数、启动脚本、权限、日志轮转——出问题时排查路径长、干扰因素多。Docker 方式能隔离依赖、固化环境、一键启停,连 systemd 都不用配。

实操建议:

  • 确保宿主机已安装 docker 且当前用户在 docker 组里(避免每次加 sudo)
  • 拉镜像:docker pull sonatype/nexus3(注意不是 sonatype/nexus,那是旧版 Nexus2)
  • 挂载数据卷(关键!否则容器重启后仓库全丢):docker run -d -p 8081:8081 --name nexus -v /opt/nexus-data:/nexus-data sonatype/nexus3
  • /opt/nexus-data 目录需提前创建并赋权:mkdir -p /opt/nexus-data && chown -R 200:200 /opt/nexus-data(Nexus3 容器内默认以 UID 200 运行)

首次访问 Nexus 后必须改 admin 密码,否则 Maven 上传会 401

安装完打开 http://localhost:8081,初始账号是 admin,密码在容器日志里:docker logs nexus | grep 'password is'。但这个临时密码只能登录一次,系统强制跳转到改密页——很多人卡在这儿,以为登录成功就完事了,结果后续用 mvn deploy 时一直报 401 Unauthorized。

容易踩的坑:

  • 改密页没点「Save」而是直接关页面,下次登录仍用旧密码会失败
  • 新密码不符合策略(至少 8 位、含大小写字母+数字+特殊字符),页面无明确提示,只静默失败
  • 改完密码后,Maven 的 settings.xml 里 <server></server> 的 <password></password> 必须同步更新,否则所有 deploy 操作都 401

maven settings.xml 里 <server></server> 的 id 必须和 <distributionmanagement></distributionmanagement> 中的 id 完全一致

这是 Maven 私服最常配置错的一环。Nexus 不认 URL,只靠 id 字符串做凭证匹配。哪怕只差一个空格或大小写,Maven 就找不到对应账号密码,最终报 401 或 403。

示例片段(注意两处 nexus-releases 必须一模一样):

<settings><servers><server><id>nexus-releases</id><username>admin</username><password>your_new_password</password></server></servers><profiles><profile><id>my-nexus</id><repositories><repository><id>nexus</id><url>http://localhost:8081/repository/maven-public/</url></repository></repositories></profile></profiles><activeprofiles><activeprofile>my-nexus</activeprofile></activeprofiles></settings>

对应项目 pom.xml 中:

<distributionmanagement><repository><id>nexus-releases</id><url>http://localhost:8081/repository/maven-releases/</url></repository><snapshotrepository><id>nexus-snapshots</id><url>http://localhost:8081/repository/maven-snapshots/</url></snapshotrepository></distributionmanagement>

仓库类型选错会导致 deploy 失败:release 包不能发到 snapshot 仓库,反之亦然

Nexus 默认建了三个关键仓库:maven-releases(type: hosted, Release)、maven-snapshots(type: hosted, Snapshot)、maven-public(type: group)。Maven 的 deploy 行为严格按 <version></version> 结尾是否含 -SNAPSHOT 判定目标仓库——不是看 URL,也不是看 profile 激活状态。

常见错误现象:

  • 项目 <version>1.0.0-SNAPSHOT</version> 却配置了 <repository></repository> 指向 maven-releases → 报错 Failed to deploy artifacts: Could not transfer artifact ... Failed to transfer file ... Return code is: 400
  • 非 SNAPSHOT 版本发到 maven-snapshots → 报错 400 Bad Request,日志里提示 Snapshot artifacts may not be deployed to a release repository
  • 想让 CI 自动发布 release 包,却忘了在 Nexus 后台关闭 maven-releases 的 Deployment policy(默认是 Disable redeploy),导致重复构建失败

真正需要关注的是 Nexus 界面里每个 hosted 仓库的「Configuration」页签下的 Version policy 和 Deployment policy,而不是 Maven 配置本身。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.26

745

5

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

304

5

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

489

5

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

285

5

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

348

5

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

329

5

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

561

5

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

302

5

有哪些常见的tomcat漏洞
有哪些常见的tomcat漏洞

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

2453

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习