蚂蚁调用grails失败,“[exec]应用程序是Grails 0.5之前,请运行:grails升级”

时间:2012-03-16 07:59:12

标签: grails ant groovy groovy-console

我的groovy构建脚本面临一个相当奇怪的问题。整个项目使用一个helper groovy脚本,调用所有其他构建脚本(maven和ant)。 groovy脚本调用调用的一个蚂蚁目标,通过“exec”grails war调用:

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="war"/>
        <arg value="${grails.appname}-${app.version}.war"/>
    </exec>

此块的调用失败:

     [exec] Application is pre-Grails 0.5, please run: grails upgrade

有关如何解决此问题的任何建议吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

我终于找到了问题的解决方案,我不知道这是否是最好的方法,但它解决了我的问题。因此,在与“exec”块相同的目标中,我添加了一个新的“exec”块来调用grails.bat上的升级。到目前为止这么好,调用这个没有参数的命令将产生一个确认问题是否继续执行所请求的操作 - 在蚂蚁中这将创建一个无限循环。为了避免这种情况,我添加了“-f”参数。整个exec块:

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="upgrade"/>
        <arg value="-force"/>
    </exec>

希望这会对某人有所帮助。