Ответ 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 link и иллюстрирует доступные конфигурации из хранилищ pom-files/maven:
- default зависимости от времени выполнения и мастер-артефакт могут использоваться с это conf
- master содержит только артефакт, опубликованный этим модулем, без транзитивных зависимостей
- компилировать, это область по умолчанию, которая используется, если ни один не указан. Зависимости компиляции доступны во всех классах классов
- при условии, это очень похоже на компиляцию, но указывает, что вы ожидаете, что JDK или контейнер для его обеспечения. Он доступен только в классе компиляции и не является переходным.
- runtime эта область указывает, что зависимость не требуется для компиляция, но для исполнения. Он находится во время выполнения и теста classpaths, но не путь класса компиляции
- test эта область указывает, что зависимость не требуется для нормальное использование приложения и доступно только для теста фаз компиляции и выполнения
- система, эта сфера аналогична предоставленной, за исключением того, что вы должны предоставить JAR, который содержит его явно.
- источники, эта конфигурация содержит исходный артефакт этого модуль, если есть Источник для проекта
- javadoc, эта конфигурация содержит артефакт javadoc этого модуль, если какой-либо JavaDoc для проекта
- необязательный содержит все необязательные зависимости