2014-06-04 1 views
2

В настоящее время мы используем grails 2.2 и пытаемся обновить до 2.4, но у нас есть проблема. В BuildConfig.groovy у нас есть несколько зависимостей и плагинов, которые используют last.release. Например: 'com.example: myplugin: latest.release'.Зависимости и lastest.release

В grails 2.2 это будет работать так, как ожидалось. В grails 2.4 я получаю сообщение об ошибке: Ошибка Разрешить ошибки получения зависимостей: Не удалось найти артефакт ...

Мы используем последнюю версию Artifactory. Ошибка указывает на то, что grails смотрит в нужном месте, но не может его найти.

Если мы укажем конкретную версию, то grails найдет ее в порядке. Например: «com.example: myplugin: 12.03.01»

Что-то изменилось с последней версией версии 2.2? Должны ли мы теперь указывать номера версий?

Спасибо.

ответ

3

Синтаксис latest.release Ivy специфичен и работает только с распознавателем Ivy. Grails 2.4 использует Aether - зависимый преобразователь, который является механизмом разрешения зависимостей, найденным в инструменте сборки Maven. В Maven синтаксис выражения для последней версии немного отличается. См. http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-DependencyVersionRanges

Чтобы получить последнюю версию, вы выражаете минимальную версию без верхней границы. Пример:

compile ":feeds:[1.6,)" 
Смежные вопросы