У меня есть сервер Artifactory, который я использую для разрешения зависимостей Ivy. Когда я хочу добавить зависимость к моему ivy.xml
, мне иногда приходится добавлять явный вложенный тег <artifact>
, и я не понимаю, почему.Почему Artifactory требует явного артефакта для некоторых зависимостей Ivy?
Пример:
<dependency org="com.google" name="guava" rev="[7,)" conf="compile,runtime" />
Пример B
<dependency org="com.twelvemonkeys.common" name="common-image" rev="3.0.1" conf="compile,runtime">
<artifact name="common-image" ext="jar"/>
</dependency>
Глядя на кэшированных зависимостей в представлении Artifactory дерева, нет ничего, что указывает на то, что последний пример должен нуждаться в дополнительной информации чтобы разрешить зависимость, но Artifactory предлагает ее сам, и разрешение не работает без выхода.
Я использую Ivy против репозитория с маской Maven. Мои настройки, где генерируются Artifactory и выглядеть примерно так:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-settings>
<settings defaultResolver="main" />
<resolvers>
<chain name="main">
<ibiblio
name="public"
m2compatible="true"
root="http://example.org/artifactory/remote-repos" />
</chain>
</resolvers>
</ivy-settings>
Почему Artifactory требует явного артефакта для некоторых зависимостей плюща, а не для других?
Edit 20151005: Добавлен Ivy настройки Пример
Я обновил текст вопроса более подробно. Насколько я понимаю ваш ответ, элемент «артефакт» необходим, когда нет настроек плюща для зависимостей в репозитории? AFAICT, ни гуава, ни обычное изображение не имеют конфигурацию Ivy, но для первого я не нуждаюсь в теге артефакта. Что мне не хватает? – mhvelplund