无法在Grails(2.4.3)插件上看到更新

时间:2014-10-03 15:36:55

标签: grails grails-2.0 grails-plugin

我有一个带有多个插件的Grails PRJ(2.4.3)

  • MAIN PRJ
  • 插件A
  • 插件B

在主PRJ中,buildConfig.groovy是:

    plugins {
            // plugins for the build system only
            build ":tomcat:7.0.55"

            // plugins for the compile step
            compile ":scaffolding:2.1.2"
            compile ':cache:1.1.7'
            compile ":asset-pipeline:1.9.6"
            compile ":plugin-a:0.1"
            compile ":plugin-b:0.3"
}

在对pluginA进行修改后,我执行:

grails clean
grails maven-install
grails mavel-deploy (for remote nexus)

On Main PRJ

grails clean
grails refresh-dependencies
grails run-app 

但是当项目启动时,我无法看到PluginA上的更新。我必须在plugindescriptor中增加版本。在此之后,我可以看到更新!

现在..

  1. 是否可以避免版本增加?
  2. 什么是最好的 练习开发多个插件?
  3. 提前致谢

    路易斯

2 个答案:

答案 0 :(得分:1)

删除应用程序根目录中的target目录,而不是运行grails clean。然后grails compile将引入您的插件更改,而不必增加插件版本。

答案 1 :(得分:0)

来自官方文件:

  

配置更改依赖项通常,依赖项是   不变。也就是说,对于组,名称和版本的给定组合   它引用的jar(或插件)永远不会改变。 Grails   依赖关系管理系统使用此事实来缓存依赖关系   为了避免每次都从源存储库下载它们   时间。有时候这是不可取的。例如,许多开发人员   使用快照的约定(即与版本的依赖关系)   数字以“-SNAPSHOT”结尾,可能会不时变化   同时仍保留相同的版本号。我们称之为   “改变依赖”。

     

每当你有一个不断变化的依赖,Grails将始终检查   新版本的远程存储库。更具体地说,当一个   在依赖解析期间遇到改变的依赖性   将本地缓存中的最后修改时间戳与   上次修改的依赖关系存储库中的时间戳。如果版本   远程服务器上的版本被认为比版本更新   本地缓存,将下载并使用新版本。

然后,如果我在我的lib上使用** - ** SNAPSHOT,则每个compilemaven-install都会给我一个更新的库。