发布制品到私服 Nexus
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
概述
为了避免通过简单拷贝实现代码模块复用的低效方式,可以使用 Maven Deploy 方法将通用模块打包成 JAR 文件,并发布到 Nexus 服务。这样做能更加简洁高效地实现 JAR 文件的复用和管理。
Maven settings.xml 配置
首先,需要在 Maven 的 settings.xml 文件中添加 Nexus 服务的登录账号和密码配置。这一步确保 Maven 能通过这些凭证来部署项目到 Nexus 服务。
项目 pom.xml 配置
接着,在项目的 pom.xml 文件中添加 Nexus 仓库的配置。这包括发布到 Nexus 的 releases 仓库和 snapshots 仓库的 URL。用户需根据实际情况替换成相应的 IP 地址,并确保配置中的 id 与 settings.xml 中的配置一致。
发布 JAR 到 Nexus 服务
通过在项目根目录执行 'mvn deploy' 命令,就可以发布 JAR 到 Nexus 服务。如果看到成功上传信息,即表示发布成功。此时在 Nexus 服务中也能看到刚发布的 JAR 包。
发布的灵活配置
在 pom.xml 文件中可以通过占位符来控制发布版本。Maven 根据版本号后是否带有 '-SNAPSHOT' 来决定发布到相应的仓库。使用 'mvn deploy -P product' 命令发布非快照版本到 releases 仓库,而默认的 'mvn deploy' 命令将发布快照版本到 snapshots 仓库。需要注意的是,snapshot 仓库中的 JAR 包会附带时间戳,而 release 仓库不允许相同版本的 JAR 包重复部署,若出现错误需要升级版本号后重新发布。
注意事项
部署到 snapshot 仓库的 JAR 包会带有时间戳,并且 Maven 会自动选择相应版本最新的 JAR 包。对于 release 仓库,由于不允许覆盖更新组件,重复部署相同版本的 JAR 包会报错。解决方法是升级版本号后再次发布。
想要了解更多内容?
![](/theme/default/default/images/main/icon-link.png)
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)