Как интегрировать между Apache Archiva и Maven

Как интегрировать между Apache Archiva и Maven

Apache Archiva - отличный менеджер удаленного репозитория. Это очень важно реализовать, особенно в больших проектах, в которых участвуют многие разработчики, использующие одинаковые библиотеки зависимостей

Зачем вам нужен Apache Archiva?

Вопрос: Предположим, к вашей команде только что присоединился новый член команды, и наверняка новый член займет очень много времени в процессе первой сборки, потому что требуется загрузить библиотеки зависимостей изMaven central repository.

A: С помощью Apache Archiva у вас есть собственный центральный репозиторий в вашей команде, вы подключаетесь к своему собственному репозиторию вместо центрального репозитория Maven. Он обрезал долгий процесс создания первого раза и хорошо централизовал библиотеки зависимостей в вашем проекте.

интеграция

Интеграция Apache Archiva и Maven достаточно проста

1. Установите Apache Archiva

Установите Apache Archiva

2. Конфигурация по умолчанию

Два удаленных репозитория по умолчанию настраиваются автоматически.

В принципе, все настройки по умолчанию достаточно для интеграции Maven.

3. Добавить настройку зеркала

Локализуйте конфигурационный файл Maven, «{mavendir} /conf/settings.xml», обновите настройку зеркала в вашем репозитории Apache Archiva.


    
    
        internal
        Proxy Cache - Internal Repository
        http://localhost:8080/archiva/repository/internal
        *
    

  
  • url tag - это адрес вашего сервера удаленного репозитория Archiva.

  • тег mirrorOf - отразить все

P.S More detail about Maven mirror settings

4. Done

Разные !?

Вот отличия до и после интеграции 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}]