Grails имеет механизм разрешения зависимостей, который разрешает конфликты между зависимостями:
- Сам Грааль
- Приложение Grails
- Плагины приложения
- Зависимости плагинов
Просто убедитесь, что вы указали, от чего зависит ваш плагин, и пусть разрешение зависимостей Grails позаботится обо всем остальном. Исторически Grails использовал Ivy для разрешения зависимостей, но начиная с Grails 2.3.0 по умолчанию используется Maven / Aether с возможностью использовать Ivy.
Иногда в приложении вам может потребоваться переопределить выбор, сделанный разрешением зависимости, например, исключить транзитивную зависимость или принудительно использовать конкретную версию библиотеки, вы можете сделать все это в BuildConfig.groovy
Как обычно, справочный документ Grails обеспечивает очень полный охват этой темы .
Обновление
В дополнение к вашему комментарию ниже, если вы поместите JAR в каталог lib вашего приложения, он будет проигнорирован разрешением зависимостей и размещен непосредственно в вашем classpath. Так что обычно вы не должны этого делать. Вместо этого укажите JAR и его версию в dependencies
разделе BuildConfig.groovy
.
Обновление 2
Синтаксис для указания JAR:
<scope> <group>:<artifact>:<version>
group, artifact и version совместно определяют что (JAR) вы хотите загрузить, тогда как область действия определяет, как вы хотите использовать JAR. Самый простой способ найти группу, артефакт и версию конкретного JAR-файла - это поиск в репозитории Maven .
Прочтите это , чтобы узнать о различных областях, которые вы можете использовать.