Добавление банок в classpath с помощью gradle - PullRequest
2 голосов
/ 18 ноября 2011

В Gradle есть способ ссылки на внешние банки. У меня есть несколько внешних банок, которые находятся в другой папке за пределами структуры проекта. Есть ли способ добавить ссылку на эти jar-файлы в мой файл build.gradle, чтобы они были обнаружены в процессе компиляции?

Спасибо

Edit:

Я изменил mu build.gradle с задачей allprojects, имеющей следующие «подзадачи (?)» Следующим образом:

repositories{
   flatDir name:'ExternalJars',dirs:'<path to the jars>'
   dependencies{
      compile: 'jarname:jarname:version'
   }
}

Похоже, что моя сборка работает нормально. Может ли кто-нибудь пролить свет на то, что именно происходит, когда я создаю хранилище и указываю зависимости? - Спасибо

1 Ответ

5 голосов
/ 20 ноября 2011

Вы можете найти довольно подробное описание поведения flatDir в javadoc для FlatDirectoryArtifactRepository .

Основная идея заключается в том, что он ищет jar-файлы в корневом каталоге (ах), указанном вами в flatDir, которые соответствуют шаблону [artifact]-[version].[ext].

Примечание: группа артефактов игнорируется (поэтому вы можете указать их как :jarname:version), а также все артефакты, предположительно не имеющие транзитивных зависимостей.

Кстати, другой способ ссылки на локальные jar-файлы - создать локальный репозиторий ivy (см. p.7.7 Использование локального каталога Ivy ). Вам нужно будет использовать это, если вы хотите объявить транзитивные зависимости.

...