Преобразователь URL-адресов Ivy не может найти дескриптор

У меня есть URL-преобразователь в моем ivysettings.xml, определенный так:

<url name="repo">
    <ivy pattern="http://repo.example.com/repo/[organization]/[module]/
        1.0-SNAPSHOT/[artifact]-[revision]-ivy.xml" />
    <artifact pattern="http://repo.example.com/repo/[organization]/[module]/
        1.0-SNAPSHOT/[artifact]-[revision](-[classifier]).[ext]"/>
</url>

У меня в репозитории два файла:

http://repo.example.com/repo/myorg/mymodule/1.0-SNAPSHOT/mymodule-1.0.0-ivy.xml http://repo.example.com/repo/myorg/mymodule/1.0-SNAPSHOT/mymodule-1.0.0.jar

Когда я разрешаюсь, Айви, кажется, не находит мой дескриптор. Я попытался запустить с подробным флагом и увидел эту запись:

попробовал http://repo.example.com/repo/myorg/mymodule/1.0-SNAPSHOT/ivy-%5brevision%5d-ivy.xml

Это не соответствует моим ожиданиям. Почему он ищет дескриптор с префиксом ivy- вместо того, что я указал в моем преобразователе? Я ожидал, что в журнале будет указано, что он ищет http://repo.example.com/repo/myorg/mymodule/1.0-SNAPSHOT/mymodule-%5brevision%5d-ivy.xml.


person M. Dudley    schedule 06.05.2014    source источник


Ответы (1)


Я нашел ответ в другом месте на StackOverflow:

Ivy сначала решает <ivy pattern... /> с указанием организации, модуля и версии, а также с [artifact] жестко запрограммированным как «ivy» и [ext] жестко запрограммированным как «xml».

Похоже, Айви хочет навязать ivy-[revision].xml соглашение об именах. Попытка обойти это с помощью шаблона типа http://repo.example.com/repo/[organization]/[module]/1.0-SNAPSHOT/[module]-[revision]-[artifact].xml выдает NullPointerException.

person M. Dudley    schedule 07.05.2014