gpt4 book ai didi

java - Grails 依赖解析

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:13 25 4
gpt4 key购买 nike

我的 Grails 项目依赖于使用 Maven 构建的内部库 Commons.jar。在 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:

  • Ivy 缓存(默认为 ~/.ivy2/cache)
  • mavenLocal(由 $M2_REPO 定义)
  • mavenRepo (http://build.mycompany.com/wtp_repository)

因此 Grails 应用程序不断从 Ivy 缓存中获取旧版本的 JAR,在构建 Commons 项目时它永远不会更新。

我想我可以解决这个问题,如果我知道如何:

  • 防止 Grails 在 Ivy 缓存中寻找依赖项(尽管我猜禁用缓存可能会大大减慢我的构建速度)
  • 确保在我构建 Commons 时 Ivy 缓存也得到更新

但是,似乎任何其他引用 Maven 项目的 SNAPSHOT 工件的人也应该有这个问题,所以也许我遗漏了什么?

谢谢!

最佳答案

我猜 this discussion与您遇到的问题有关,可能会提出一些解决方法/解决方案。

关于java - Grails 依赖解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com