【问题标题】:Repository not being checked未检查存储库
【发布时间】:2014-11-28 15:06:16
【问题描述】:

我在 Windows 7 上运行 grails 2.4.2 来自 BuildConfig.groovy,这是我的存储库定义(实际 url 替换为 example.com)

    repositories {
    inherits true

    switch ( System.getProperty('grails.env')) {
        case ['production']:
            mavenRepo "http://example.com:8080/artifactory/prod-builds"
            break
        default:
            mavenRepo "http://example.com:8080/artifactory/dev-builds"
    }

    grailsCentral()
    mavenCentral()

在插件部分,我有这样的东西

        compile (':myplugin:[14.08.01,]' ) {
        export = false
    }

当我第一次编译时,它工作正常。 稍后,我必须更新“myplugin”插件并将版本更改为“14.13.01”。 现在,当我重新编译引用 myplugin 的插件时,它不会拾取更高版本。如果我应该做出这样的改变:

        compile (':myplugin:[14.13.01,]' ) {
        export = false
    }

然后我得到这个错误:

解决获取依赖的错误:指定范围内没有适用于 org.grails.plugins:myplugin:zip:[14.13.01,] 的版本

看了一圈,我看到在 c:/users/{username}/.m2/repository 目录下,有一个 org\grails\plugins 目录,其中包含以前的 myplugin 版本。如果我删除这个目录,然后重新编译,我将得到我的插件的最新版本。

那么,我应该在我的 buildconfig.groovy 或我的工件设置中进行哪些更改,以便 grails 将在工件中搜索插件的最新版本,而不仅仅是查看我的 .m2 目录。

运行 clean-all 没有帮助

【问题讨论】:

    标签: maven grails repository artifactory


    【解决方案1】:

    您需要使用的是 SNAPSHOT 版本,而不是版本范围。 无论哪种方式,grails compile --refresh-dependencies 都会有所帮助。

    【讨论】:

    • 刷新依赖不起作用。使用 refresh-dependencies 确实会将最新版本拉入我的本地 .m2 目录,但 grails 不会加载它。 Grails 继续使用以前的版本。此外,这些版本更改是发布版本,因此快照不合适。
    【解决方案2】:

    我们的答案是在 mavenRepo 行中添加一个 updatePolicy。像这样:

    mavenRepo "http://example.com:8080/artifactory/dev-builds", { updatePolicy: 'always' }
    

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 2022-07-04
      • 2011-09-08
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多