Публикация артефактов с исходниками в архиве

StackOverflow https://stackoverflow.com/questions/1072969

  •  21-08-2019
  •  | 
  •  

Вопрос

На работе я погружаюсь в управление зависимостями проекта с помощью maven.Мы используем Apache Archiva (1.2.1) в качестве локального репозитория и прокси.Я добавляю артефакт для проекта с открытым исходным кодом, который не опубликован ни в одном общедоступном репозитории.Я узнал, что публиковать источники Я должен используйте поле Классификатор на Загрузить артефакт страница.Затем источники перечисляются рядом с jar и pom, когда я просматриваю репозиторий.

Но когда я обновляю свои зависимости maven, я получаю из репозитория только jar и pom.Я заметил, что источники также отсутствуют, когда архив проксирует для меня загрузки из других публичных репозиториев.Я не нашел никаких параметров конфигурации на страницах администратора Archiva для обслуживания источников...Что мне не хватает?

Обновлять:Мне не хватало того факта, что исходники артефактов нужно загружать вручную.Т.е.клиент maven должен запросить их, что контролируется параметром командной строки -DdownloadSources=true.Интеграция Maven для Eclipse имеет настройку, позволяющую всегда загружать их, как описано в разделе Разрешение источников артефактов.Затем Archiva обслуживает источники локальных артефактов или передает запрос в удаленные репозитории и кэширует источники для будущих запросов.

Это было полезно?

Решение

Archiva предоставляет исходники, но Maven по умолчанию не запрашивает их.Я знаю, поскольку я также использую Archiva в качестве репозитория Maven.Как вы запрашиваете исходники?

Если вы используете затмение

Оба они должны вернуть исходники, если они доступны.

Другие советы

Источники не обязаны удовлетворять зависимости компиляции/время выполнения.Если вы хотите связать источники со своим приложением, вам следует указать зависимость с источником.Или вы можете использовать плагин, подобный сборке, чтобы получить их из архива.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top