Maven 如何将本地的项目发布到 Archiva 中

Posted huyuchengus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven 如何将本地的项目发布到 Archiva 中相关的知识,希望对你有一定的参考价值。

很多时候,我们可能并不希望将我们的构建代码发布到公共的 Maven 仓库中。

为了一些私有的项目发布到公司内部的 Archiva 中,如何使用 Maven 进行发布。


 

这个其实比较简单。

你需要满足下面 3 个条件。

  1. 一个具有发布权限的 Maven 仓库
  2. 在 settings.xml 中配置你可以访问这个仓库的用户名和密码
  3. 配置你的 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>

随后你可以到服务器上看你的文件有没有发布成功了。

技术图片

https://www.cwiki.us/display/MAVEN/questions/57938925

以上是关于Maven 如何将本地的项目发布到 Archiva 中的主要内容,如果未能解决你的问题,请参考以下文章

除了 Nexus、Artifactory 和 Archiva,还有其他 Java 存储库管理器吗?

如何将jar包加入到Maven本地仓库

Maven:如何阻止部署插件记录上传进度?

如何将本地项目(不是 jar)作为依赖项添加到 Maven 项目

如何把本地仓库批量上传到maven仓库

如何将IKAnalyzer添加到本地maven仓库