Ivy разрешает неправильную зависимость

Я использую Ivy для разрешения зависимости в проекте.

Зависимость в моем ivy.xml

<dependency org="org.mule.tools" name="ibean-archetype" rev="3.1.0" 
            conf="compile;runtime"/>

Я получаю сообщение об ошибке в консоли

[ivy:resolve] :: problems summary ::
[ivy:resolve] :::: WARNINGS
[ivy:resolve]           [NOT FOUND  ] org.mule.tools#ibean-archetype;3.1.0!ibean
-archetype.maven-archetype (16ms)
[ivy:resolve]   ==== public: tried
[ivy:resolve]     http://192.168.101.173:8080/nexus/content/groups/public/org/mule/tools/ibean-archetype/3.1.0/ibean-archetype-3.1.0.maven-archetype
[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]           ::              FAILED DOWNLOADS            ::
[ivy:resolve]           :: ^ see resolution messages for details  ^ ::
[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]           :: org.mule.tools#ibean-archetype;3.1.0!ibean-archetype.maven-archetype
[ivy:resolve]           ::::::::::::::::::::::::::::::::::::::::::::::

Почему ibean-archetype-3.1.0.jar решил ibean-archetype-3.1.0.maven-archetype??? Я смущен.

Мой плющ использует нексус и информацию ibean-archetype-3.1.0.jar в нексусе

<dependency>
  <groupId>org.mule.tools</groupId>
  <artifactId>ibean-archetype</artifactId>
  <version>3.1.0</version>
</dependency>

person user1584177    schedule 08.08.2012    source источник
comment
возможно, ivy пытается найти архетип maven, потому что артефакт pom содержит слово архетип. Можете ли вы добавить <type>jar</type> в pom в репозитории ypur nexus?   -  person oers    schedule 08.08.2012
comment
спасибо, я редактирую ivy.xml ‹dependency org=org.mule.tools name=ibean-archetype rev=3.1.0 conf=compile;runtime ›‹artifact name=ibean-archetype type=jar ext=jar /› ‹/dependency› теперь это работает!   -  person user1584177    schedule 09.08.2012
comment
отлично :) вы можете опубликовать это как ответ через 24 часа и принять его как свое решение :)   -  person oers    schedule 09.08.2012


Ответы (1)


У меня такая же проблема...

Для меня то, что устранило проблему, изменило следующую строку:

<dependency org="io.takari.junit" name="takari-cpsuite" rev="1.2.7"/>

to:

<dependency org="io.takari.junit" name="takari-cpsuite" rev="1.2.7">
        <artifact name="takari-cpsuite"/>
</dependency>

Мне даже не нужно было указывать атрибут ext или type внутри имени артефакта, чтобы решить проблему.

Я думаю, что Айви ошибочно принимает содержимое упаковочного тега pom (разрешенной библиотеки) как расширение...

Обе наши библиотеки имеют этот тег <packaging> в .pom,

См. ibean-archetype (для используемой библиотеки) и takari (для библиотеки, которую я использовал)

person Joker    schedule 20.07.2015
comment
Это именно то, что мне было нужно, имея ту же проблему с использованием jira-rest-java-client-core. Мне пришлось исключить проблемную зависимость, затем вручную добавить ее обратно и настроить таргетинг на конкретный артефакт, как это сделали вы. ‹dependency org=com.atlassian.sal name=sal-api rev=3.1.1› ‹artifact name=sal-api /› ‹/dependency› - person steve; 14.10.2020