当我将应用程序复制到新计算机时,Grails想要降级我的插件

时间:2012-07-11 01:45:38

标签: grails plugins dependencies

当我将我的应用程序复制到另一台机器并执行'grails run-app'时,grails似乎跳过了更新其本地插件的步骤。 (我的意思是第一台计算机刚刚完成Downloading: plugins-list.xml,但是当我在第二台机器上运行应用程序时,新机器将不会执行该步骤。)我收到此消息:

Loading Grails 2.0.3
Configuring classpath

Environment set to development.....
Packaging Grails application
You currently already have a version of the plugin installed [resources-1.1.6]. Do you want to update to [resources-1.1.5]? [y,n] n
Plugin resources-1.1.5 install aborted
Compiling 92 source files

我是否正确诊断,如何强制更新?此外,如果我接受降级我的应用程序中断。不确定是什么意思,因为它使用1.1.5一段时间..

我感觉正在发生的是当grails的插件魔法最后一次更新时,grails在项目中做了注释,因此当我移动项目时,其他grails错误地认为它刚刚更新。这完全正确吗?

1 个答案:

答案 0 :(得分:3)

您是在BuildConfig.groovy文件中指定插件还是使用install-plugin命令“安装”插件?我的阅读表明不再推荐使用install-plugin命令,您应该在BuildConfig.groovy文件中指定插件,然后无论您部署什么机器,Grails都会处理它。

示例:

plugins {
    /*
    * build - dependency that is only needed by the build process
    * compile - dependency that is needed at both compile-time and runtime. This is the most common case
    * provided - dependency that is needed at compile-time but should not be packaged with the app (usually because it is provided by the container). An example is the Servlet API
    * runtime - dependency that is needed to run the application, but not compile it e.g. JDBC implementation for specific database vendor. This would not typically be needed at compile-time because code depends only the JDBC API, rather than a specific implementation thereof
    * test - dependency that is only needed by the tests
    */
    runtime ":cached-resources:1.0"
    runtime ":database-migration:1.1"
    runtime ":hibernate:$grailsVersion"
    runtime ":jquery:1.7.1"
    runtime ":resources:1.1.6"        
    runtime ":yui-minify-resources:0.1.4"
    runtime ":zipped-resources:1.0"

    compile ":cache-headers:1.1.5"
    compile ":commentable:0.8.1"
    compile ":jquery-ui:1.8.15"
    compile ":joda-time:1.4"
    compile ":searchable:0.6.3"
    compile ":spring-security-ldap:1.0.6" // Also installs spring-security-core

    build ":tomcat:$grailsVersion"

}

另请注意,某些插件还需要dependencies文件的BuildConfig.groovy部分中的特殊条目。 JodaTime插件就是这样一个插件。

dependencies {
    compile "org.jadira.usertype:usertype.jodatime:1.9"
}

插件的文档应指定是否需要dependencies部分中的任何条目。