Как области maven сопоставляются с конфигурациями плюща с помощью плюща
Репозитории Maven, такие как Maven Repository, предлагают самый широкий спектр проектов для управления зависимостями.
Ivy предлагает возможность доступа к репозиториям Maven и загрузки оттуда артефактов. В этих репозиториях есть только файлы pom, а ivy.xml нет.
Их можно получить с помощью распознавателя плюща, который работает в режиме совместимости с m2.
<ibiblio name="maven2" m2compatible="true"/>
Специально для этого варианта использования я хочу знать:
- какие области доступны по умолчанию и какие артефакты они будут предлагать
- Как maven scoped сопоставляется с конфигурацией / плющом ivy?
1 ответ
Решение
Следующие две статьи помогли мне лучше понять, как Maven и Ivy взаимодействуют
- http://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/
- http://lightguard-jp.blogspot.com/2009/04/ivy-configurations-when-pulling-from.html
Как ни странно, я никогда не понимал конфигурации плюща, пока не было объяснено, как их можно использовать для имитации областей Maven.
Следующий список по ссылке www.symphonious.net и иллюстрирует доступные конфигурации из репозиториев pom-files / maven:
- с этим параметром можно использовать зависимости по умолчанию во время выполнения и главный артефакт
- master содержит только артефакт, опубликованный самим этим модулем, без транзитивных зависимостей
- скомпилировать это область по умолчанию, используется, если ничего не указано. Зависимости компиляции доступны во всех classpath
- при условии, что это очень похоже на компиляцию, но указывает, что вы ожидаете, что JDK или контейнер предоставят его. Он доступен только на пути к классам компиляции и не является транзитивным
- время выполнения эта область указывает, что зависимость не требуется для компиляции, но предназначена для выполнения. Он находится во время выполнения и пути к классам теста, но не в пути к классам компиляции
- Проверка этой области означает, что зависимость не требуется для обычного использования приложения и доступна только для фаз компиляции и выполнения теста
- Для системы эта область действия аналогична предоставленной, за исключением того, что вы должны предоставить JAR, который содержит ее явно.
- Источники этой конфигурации содержат исходный артефакт этого модуля, если таковой имеется. Источник для проекта
- javadoc эта конфигурация содержит артефакт javadoc этого модуля, если есть какой-либо JavaDoc для проекта
- необязательный содержит все необязательные зависимости