很多时候,我们可能并不希望将我们的构建代码发布到公共的 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.m2repositorycomossezparent-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>
随后你可以到服务器上看你的文件有没有发布成功了。