Перейти к содержимому

Maven

NORA выступает в роли Maven-репозитория с поддержкой загрузки и скачивания артефактов, а также прозрачного проксирования из Maven Central или других upstream-репозиториев.

Настройте Maven для работы с NORA в ~/.m2/settings.xml:

<settings>
<mirrors>
<mirror>
<id>nora</id>
<mirrorOf>central</mirrorOf>
<url>http://nora.example.com:4000/maven</url>
</mirror>
</mirrors>
</settings>

Для Gradle добавьте в build.gradle:

repositories {
maven { url "http://nora.example.com:4000/maven" }
}

Публикуйте артефакты с помощью mvn deploy, настроив distribution management в pom.xml и учётные данные сервера в settings.xml.

NORA поочерёдно обращается к настроенным upstream-прокси, если артефакт не найден локально.

config.toml:

[maven]
enabled = true
proxy_timeout = 30
checksum_verify = true
immutable_releases = true
[[maven.proxies]]
url = "https://repo1.maven.org/maven2"
[[maven.proxies]]
url = "https://jcenter.bintray.com"
auth = "user:pass"

Переменные окружения:

ПеременнаяОписаниеПо умолчанию
NORA_MAVEN_ENABLEDВключить реестр Maventrue
NORA_MAVEN_PROXIESUpstream URL через запятую (url1,url2 или url1|auth1,url2)https://repo1.maven.org/maven2
NORA_MAVEN_PROXY_TIMEOUTТаймаут upstream в секундах30
NORA_MAVEN_CHECKSUM_VERIFYПроверять контрольные суммы при загрузкеtrue
NORA_MAVEN_IMMUTABLE_RELEASESЗапретить перезапись опубликованных артефактовtrue
ФункцияСтатусПримечание
Скачивание артефактов (GET)ПолнаяJAR, POM, контрольные суммы
Загрузка артефактов (PUT)ПолнаяЛюбой тип файла
Структура путей GroupIdПолнаяТочки преобразуются в слеши
Контрольные суммы SHA1/MD5ПолнаяСохраняются рядом с артефактами
maven-metadata.xmlЧастичнаяСохраняется как есть, без автогенерации
SNAPSHOT-версииНет поддержки SNAPSHOT
Мульти-прокси с fallbackПолнаяПрокси опрашиваются последовательно
Content-Type по расширениюПолная.jar, .pom, .xml, .sha1, .md5
  • maven-metadata.xml не генерируется автоматически при публикации — его необходимо загружать явно средствами сборки.
  • Управление SNAPSHOT-версиями не поддерживается (разрешение -SNAPSHOT в последнюю временную метку).