如何在Apache Archiva和Maven之间进行集成

谢璞
2023-12-01

Apache Archiva是一个出色的远程存储库管理器。 尤其是在大型项目中实现它非常重要,这涉及许多使用相同依赖库的开发人员。

为什么需要Apache Archiva?

问:让我们假设一个新的团队成员刚刚加入您的团队,并且可以肯定的是,新成员在第一次构建过程中将花费很长时间,因为需要从Maven中央存储库下载依赖项库。

答:在Apache Archiva的帮助下,您在团队中拥有自己的中央存储库,您将连接到自己的存储库,而不是Maven中央存储库。 它切断了漫长的首次构建过程,并且很好地集中了项目中的依赖库。

积分

Apache Archiva和Maven的集成非常简单,很容易

1.安装Apache Archiva

安装Apache Archiva

2.默认配置

两个默认的远程存储库是自动配置的。

基本上,所有默认设置对于Maven集成都是足够的。

3.添加镜像设置

区域设置Maven的配置文件“ {mavendir} /conf/settings.xml”,将镜像设置更新到您的Apache Archiva存储库。

<mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
	<mirror>
		<id>internal</id>
		<name>Proxy Cache - Internal Repository</name>
		<url>http://localhost:8080/archiva/repository/internal</url>
		<mirrorOf>*</mirrorOf>
	</mirror>

  </mirrors>

* url标记–这是您的Archiva远程存储库服务器地址。
* mirrorOf标签–镜像所有内容

PS有关Maven镜像设置的更多详细信息

4.完成

不一样!!

这是Apache Archiva集成前后的不同之处。

整合之前存档

所有依赖库都从Maven中央存储库下载。

E:\project\projectname>mvn compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building projectname Maven Webapp
[INFO]    task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[INFO] Copying 0 resource
Downloading: http://repo1.maven.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.pom
Downloading: http://repo1.maven.org/maven2/log4j/log4j/1.2.14/log4j-1.2.14.jar
[INFO] [compiler:compile {execution: default-compile}]

整合后存档

所有依赖项库都是从您自己的远程存储库(Archiva)服务器下载的。

E:\project\projectname>mvn compile
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building projectname Maven Webapp
[INFO]    task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[INFO] Copying 0 resource
Downloading: http://localhost:8888/archiva/repository/internal/log4j/log4j/1.2.14/log4j-1.2.14.pom
2K downloaded  (log4j-1.2.14.pom)
Downloading: http://localhost:8888/archiva/repository/internal/log4j/log4j/1.2.14/log4j-1.2.14.jar
358K downloaded  (log4j-1.2.14.jar)
[INFO] [compiler:compile {execution: default-compile}]

翻译自: https://mkyong.com/maven/how-to-integrate-between-apache-archiva-and-maven/

 类似资料: