Как чтобы заставить Айви загружать исходники из репозитория Nexus

Я искал целую вечность, пытаясь найти решение моей проблемы, но все другие посты, которые мне попадались, либо не работали, либо не соответствовали моей ситуации, так что, надеюсь, кто-то может дать мне некоторое представление.

У меня есть библиотека, которую я создал с помощью ant, которая выводит 2 файла jar, один из которых обычно содержит скомпилированную версию библиотеки, а другой содержит только исходные файлы.

Эта библиотека загружена в наш репозиторий Nexus с пакетом jar. Для фактического файла jar я устанавливаю расширение jar и оставляю классификатор пустым. Для исходной банки я установил классификатор на источники и расширение на банку.

Что бы я ни делал с файлом ivy.xml, я не могу заставить его загрузить jar исходников. Основываясь на сообщениях, которые я читал в другом месте, я попытался добавить:

conf="*->default,sources"

в свою зависимость, но затем я получаю сообщение об ошибке:

configuration not found in org#name;version: 'sources'

То есть это в основном ожидает, что моя библиотека где-то определит источники как конфигурацию? Я думал, что он просто уловит тот факт, что в репозитории есть еще один артефакт с классификатором, установленным на источники.

Может ли кто-нибудь дать мне другие предложения о том, что я могу делать неправильно, либо с тем, как я опубликовал свою библиотеку в Nexus, либо с тем, как я настроил объявление о зависимости в моем файле Ivy.

Это основной файл Ivy.xml, в котором я определяю свою зависимость от библиотеки, которую я поместил в Nexus.

<ivy-module version="2.0">

    <info organisation="${ivy.organisation}" module="moduleName" />

    <configurations>
        <conf name="pda" description="moduleName for PDA"/>
        <conf name="server" description="moduleName for server"/>
    </configurations>

    <dependencies>
        <!-- Internal -->
        <dependency name="utility" org="${ivy.organisation}" rev="latest.integration" conf="${ivy.configuration}"/>
        <dependency name="myLib" org="my.org" rev="0.0.+"/>
    </dependencies>

</ivy-module>

В ответ на комментарии ниже для свойства ivy.configuration установлено значение pda в моем файле build.properties для Ant. Для Eclipse я создал файл свойств, а также установил для ivy.configuration значение pda (на этот файл свойств затем ссылаются в настройках Ivy в Eclipse).

Сообщение об ошибке, которое я получаю:

Some projects fail to be resolved
    Impossible to resolve dependencies of ${ivy.organisation}#moduleName;working@host
        unresolved dependency: my.org#myLib;0.0.+: configuration not found in my.org#myLib;0.0.0: 'sources'. It was required from ${ivy.organisation}#moduleName;working@host pda

ОБНОВЛЕНИЕ Вот разрешенный файл ivy.xml:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
    <info organisation="my.org"
        module="myLib"
        revision="0.0.0"
        status="release"
        publication="20120419131909"
        default="true"
    />
    <configurations>
        <conf name="default" visibility="public"/>
    </configurations>
    <publications>
        <artifact name="myLib" type="jar" ext="jar" conf="default"/>
    </publications>
</ivy-module>

Это, очевидно, объясняет, почему ему не удается найти 'sources' conf. Но у меня сложилось впечатление, что конфиг источников должен добавляться автоматически, потому что я добавил исходники в Nexus.

5
задан DaveJohnston 19 April 2012 в 12:29
поделиться