Мой проект Grails зависит от встроенной библиотеки Commons.jar
, созданной с помощью Maven.В BuildConfig.groovy
я настроил его для поиска этой зависимости сначала в локальном репозитории Maven, а затем в репозитории всей компании.
repositories {
// Read the location of the local Maven repository from $M2_REPO
mavenLocal System.getenv("M2_REPO")
mavenRepo "http://build.mycompany.com/wtp_repository"
}
plugins {
build 'org.grails.plugins:spring-security-core:1.0.1'
}
dependencies {
compile ('com.mycompany:Commons:1.0.0-SNAPSHOT')
}
Когда я собираю Common / jar (используя mvn deploy
),сначала он сохраняется в mavenLocal, затем копируется в mavenRepo.Однако, когда я создаю приложение Grails, оно ищет JAR в следующих местах:
) Поэтому приложение Grails постоянно выбирает старую версию JAR из кэша Ivy, которая никогда не обновляется при сборке проекта Commons.
Полагаю, я мог бы решить эту проблему, если бы знал, как:
- Запретить Grails для поиска зависимостей в кэше Ivy (хотя, полагаю, отключение кэша может замедлить мои сборкизначительно)
- Убедитесь, что кэш Ivy также обновляется при сборке Commons
Однако, похоже, что у всех, кто ссылается на артефакты SNAPSHOT проектов Maven, также должна быть эта проблема, поэтомувозможно я что-то упускаю?
Спасибо!