Maven 如何将本地的项目发布到 Archiva 中
很多时候,我们可能并不希望将我们的构建代码发布到公共的 Maven 仓库中。
为了一些私有的项目发布到公司内部的 Archiva 中,如何使用 Maven 进行发布。
这个其实比较简单。
你需要满足下面 3 个条件。
- 一个具有发布权限的 Maven 仓库
- 在 settings.xml 中配置你可以访问这个仓库的用户名和密码
- 配置你的 pom.xml 文件。
在配置成功后,你可以运行 mvn clean deploy 进行发布。
具体来说,针对一个条件,具有发布权限的 maven 仓库,最简单的办法你可以部署一个本地的 archiva。
例如我们使用的仓库地址为 https://maven.ossez.com/,这是一个我们测试和发布私有仓库的地址。当然,你也可以使用其他的服务器或者商用服务。
在 settings.xml 中配置 server, 在这里你需要配置 id 和用户名和密码。
这里你需要使用发布 archiva 的真实用户名和密码。
修改项目的 pom.xml 文件。
添加下面的内容:
<distributionManagement> <repository> <id>maven.ossez.com</id> <name>Internal Release Repository</name> <url>https://maven.ossez.com/repository/internal/</url> </repository> <snapshotRepository> <id>maven.ossez.com</id> <name>Internal Snapshot Repository</name> <url>https://maven.ossez.com/repository/snapshots/</url> </snapshotRepository> </distributionManagement>
这里表示的是你希望发布到的仓库的链接地址。
然后就可以直接运行 mvn clean deploy 进行部署了。
输出为:
C:\WorkDir\Repository\cwiki-us-demo\java-tutorials>mvn clean deploy [INFO] Scanning for projects... [INFO] [INFO] ----------------------< com.ossez:parent-modules >---------------------- [INFO] Building parent-modules 1.0.0 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ parent-modules --- [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ parent-modules --- [INFO] Installing C:\WorkDir\Repository\cwiki-us-demo\java-tutorials\pom.xml to C:\Users\yhu\.m2\repository\com\ossez\parent-modules\1.0.0\parent-modules-1.0.0.pom [INFO] [INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ parent-modules --- Uploading to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/1.0.0/parent-modules-1.0.0.pom Uploaded to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/1.0.0/parent-modules-1.0.0.pom (9.2 kB at 12 kB/s) Downloading from maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml Downloaded from maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml (331 B at 150 B/s) Uploading to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml Uploaded to maven.ossez.com: https://maven.ossez.com/repository/internal/com/ossez/parent-modules/maven-metadata.xml (330 B at 914 B/s) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.573 s [INFO] Finished at: 2020-04-10T15:13:36-04:00 [INFO] ------------------------------------------------------------------------ C:\WorkDir\Repository\cwiki-us-demo\java-tutorials>
随后你可以到服务器上看你的文件有没有发布成功了。
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)