Классификаторы не работают в репозитории Maven Snapshot для IVY

Итак, у меня есть сборка Maven с развертыванием версий Java5 и Java6 в моем репозитории моментальных снимков (Nexus). Я делаю это с помощью профилей сборки и классификаторов. Со стороны Maven все хорошо.

Однако, если я попытаюсь разрешить зависимость Java5 от моего проекта на основе IVY, это не сработает, если последнее развертывание Maven было для профиля / классификатора Java6. Я предполагаю, что это потому, что метка времени в maven-metadata.xml указывает версию Java6. Это работает, если последнее развертывание было для Java5.

Это решатель:

<ibiblio name="snapshot-repo-name"
                 m2compatible="true"
                 root="snapshot-repo-root"
                 pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
                 usepoms="true"
                 checkmodified="true"
                 changingPattern=".*SNAPSHOT"/>

Таким образом, развертывание Java6 зависимости нарушает сборку приложения, созданного с помощью IVY.


person Paul McKenzie    schedule 17.08.2010    source источник


Ответы (2)


Обходной путь заключается в том, чтобы пометить снимок Maven как неуникальные версии в элементе <distributionManagement/>. То есть в репозитории моментальных снимков Maven больше нет версий с метками времени.

<distributionManagement>
    <repository>
        <id>PROJECT-RELEASE</id>
        <name>PROJECT-RELEASE</name>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-RELEASE</url>
    </repository>
    <snapshotRepository>
        <id>PROJECT-SNAPSHOT</id>
        <name>PROJECT-SNAPSHOT</name>
        <uniqueVersion>false</uniqueVersion>
        <url>http://foo.bar:8081/nexus/content/repositories/PROJECT-SNAPSHOT</url>
    </snapshotRepository>
</distributionManagement>
person Paul McKenzie    schedule 18.08.2010
comment
‹UniqueVersion› false ‹/uniqueVersion› не работает с maven 3 - person Jan Galinski; 19.05.2013

Ошибка разрешения или извлечения? (Retrieve выполняет неявное разрешение).

Однажды моя сборка не удалась, потому что следующий шаблон не был уникальным (требовался классификатор в шаблоне имени для обслуживания артефактов источника и javadoc):

<ivy:retrieve pattern="lib/[artifact].[ext]"/>
person Mark O'Connor    schedule 17.08.2010