0

当我将我的应用程序复制到另一台机器并执行“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 错误地认为它刚刚更新。这完全正确吗?

4

1 回答 1

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需要该部分中的任何条目。

于 2012-07-11T03:42:20.237 回答