很多时候,我们可能并不希望将我们的构建代码发布到公共的 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:WorkDirRepositorycwiki-us-demojava-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:WorkDirRepositorycwiki-us-demojava-tutorialspom.xml to C:Usersyhu.m2 epositorycomossezparent-modules1.0.0parent-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:WorkDirRepositorycwiki-us-demojava-tutorials>
随后你可以到服务器上看你的文件有没有发布成功了。