Ivy transitive = false просто игнорируется при загрузке с Nexus

В нашей компании мы переносим наш старый репозиторий плюща на Nexus.

После загрузки наших собственных артефактов в Nexus я попытался загрузить зависимости нескольких проектов, чтобы протестировать настройку, но у меня не получается Spring-web. Позвольте мне объяснить, как это сделать.

Вот файл ivy-settings.xml, указывающий только на нашу локальную установку Nexus.

<?xml version="1.0" encoding="ISO-8859-1"?>

<ivysettings>

    <settings defaultResolver="default" />

    <resolvers>
        <ibiblio name="nexus" m2compatible="true" root="http://nexus.local/nexus/content/repositories/central/" />
        <ibiblio name="our-nexus" m2compatible="true" root="http://nexus/nexus/content/repositories/repo" />

        <chain name="default" returnFirst="true">
            <resolver ref="our-nexus" />
            <resolver ref="nexus" />
        </chain>
    </resolvers>
</ivysettings>

В одном из наших проектов мы используем Spring Web, но не все его зависимости, поэтому я объявил

<dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" transitive="false" />

Это нормально работало при использовании репозитория Ivy. Однако сегодня я не могу выполнить <ivy:retrieve> задачу, потому что она не может найти com.caucho#hessian#3.2.1

<ivy:report> задача говорит, что такая версия hessian требуется Spring-web 3.2.11.RELEASE

Но я заявил transitive="false" !!!

Почему не работает? Что я упускаю / теряю?


person usr-local-ΕΨΗΕΛΩΝ    schedule 26.11.2014    source источник


Ответы (1)


Должно сработать. Лично я предпочитаю сопоставления конфигурации. Вместо этого попробуйте следующее:

<dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" conf="default->master" />

Подробнее см .:

person Mark O'Connor    schedule 26.11.2014