Локальный репозиторий Nexus Maven для общих библиотек Java

У нас есть установка Nexus с набором часто используемых зависимостей Java (commons-codec, jodatime и т. д.).

Структура каталогов аналогична приведенной ниже.

commonjavalibraries
|
|_ commons-codec
| |_commons-codec
|   |_1.2
|_ commons-compress
  |_commons-compress
    |_1.3

Я нахожусь в процессе добавления последней версии этих зависимостей в репозиторий.

Для этого я создал новый pom и настроил управление зависимостями для развертывания в Nexus.

Однако теперь я знаю, что атрибуты groupId:artifactId:version pom определяют, как проект развертывается в nexus. Что, я думаю, означало бы, что мне понадобится отдельный помпон для каждого элемента группы.

Как управляется центральный репозиторий pom? Я понимаю, что можно проксировать центральный репозиторий, к сожалению, наша сеть не позволяет загружать jar-файлы, поэтому в первую очередь необходим размещенный репозиторий commonjavalibraries.

Есть ли способ сделать то, что я пытаюсь достичь, не создавая помпон для каждого элемента группы?


person PDStat    schedule 08.06.2015    source источник
comment
Разве вы не можете попросить свой ИТ-отдел внести в белый список набор URL-адресов, к которым разрешено подключаться серверу Nexus? Таким образом, вы можете просто настроить его как прокси, иначе у вас будет много работы по развертыванию всех этих зависимостей.   -  person Wim Deblauwe    schedule 08.06.2015
comment
Ну это не совсем клон Central, но зависимостей все равно много. Тоже оборонка так что нет не особо :(   -  person PDStat    schedule 08.06.2015
comment
Мне кажется, я никогда не пойму, какими параноиками могут быть некоторые люди. В чем разница с точки зрения безопасности между а) белым списком commons-codecна Maven Central для Nexusразрешить Nexus загружать его автоматически и б) белым списком commons-codecна Maven Central для загрузчикзагрузить вручную → _загрузить в Nexus вручную. Или как еще получить эти файлы артефактов? С броневиком прямо с Апача?   -  person Gerold Broser    schedule 08.06.2015


Ответы (1)


Еще немного покопавшись, я заметил, что когда зависимости загружались из хранилища, они сохранялись в .m2/repositories вместе с их файлами pom.

Я написал скрипт Python, чтобы скопировать их в другое место, а затем пройтись по этому дереву каталогов и запустить mvn deploy:deploy-file для каждой пары jar/pom, с которой я столкнулся.

person PDStat    schedule 10.06.2015