Я добавляю зависимость (назовем ее как A) в ivy.xml, которая имеет файл pom в центральном центре maven. Ivy использует ibiblio для разрешения зависимостей maven. Зависимость (A), которая добавляется к ivy.xml, имеет транзитивную зависимость (B). Пока все хорошо. Зависимость (C) транзитивной зависимости (B) не может быть решена плющом.Ivy не может разрешить область зависимости, которая является зависимостью транзитивной зависимости.
Я определил в ivy.xml так:
<dependency org="Z" name="A" rev="0.6-SNAPSHOT" conf="*->default"/>
В пом файла B, C, определяется как в компиляции и тестирования областей, как показано ниже:
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
</dependency>
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Когда я выглядеть XML-файл в, который разрешен плюща в кэш-файле плюща (~/.ivy2/кэш/X/C/плющ-0.98.8-hadoop2.xml), это выглядит следующим образом:
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
<artifact name="C" type="test-jar" ext="jar" conf="" m:classifier="tests"/>
</dependency>
По этой причине плющ не может правильно определить области C. Для записи у меня нет прав на изменение файлов pom, поскольку они являются сторонними проектами. Как я могу это исправить?
Я совершенно новой для Maven, но в моем окружении не будет тянуть зависимость если элемент 'version' не включен в группу и идентификаторы артефакта в pom.xml - это поможет? – Mikaveli
pom file of B является дочерней помпой. Из-за этого у него нет тега версии. Кстати, если я использую A в проекте maven, это не проблема. Я думаю, что плющ не может правильно отобразить область зависимостей субзависимости B. – Talat
Если модуль находится в Maven Central, почему бы просто не привести его в качестве примера? В ее нынешнем виде я не понимаю, в чем проблема. –