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.
Проксирование upstream
Заголовок раздела «Проксирование upstream»NORA поочерёдно обращается к настроенным upstream-прокси, если артефакт не найден локально.
config.toml:
[maven]enabled = trueproxy_timeout = 30checksum_verify = trueimmutable_releases = true
[[maven.proxies]]url = "https://repo1.maven.org/maven2"
[[maven.proxies]]url = "https://jcenter.bintray.com"auth = "user:pass"Переменные окружения:
| Переменная | Описание | По умолчанию |
|---|---|---|
NORA_MAVEN_ENABLED | Включить реестр Maven | true |
NORA_MAVEN_PROXIES | Upstream 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в последнюю временную метку).