Классификаторы не работают в репозитории Maven Snapshot для IVY - PullRequest
0 голосов
/ 17 августа 2010

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

Однако, если я попытаюсь разрешить зависимость 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.

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Обходной путь - пометить снимок 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>
0 голосов
/ 18 августа 2010

Это разрешение, которое не удается или получить? (Retrieve делает неявное решение).

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

<ivy:retrieve pattern="lib/[artifact].[ext]"/>
...