我的常规构建脚本面临一个相当奇怪的问题。整个项目使用一个帮助程序Groovy脚本,该脚本调用所有其他构建脚本(maven和ant)。由groovy脚本调用调用的ant目标之一,是通过“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
有什么建议如何解决这个问题?
谢谢你的时间。
最佳答案
我终于找到了解决问题的方法,我不知道这是否是最好的方法,但是它解决了我的问题。因此,在与“exec”块相同的目标中,我添加了一个新的“exec”块以在grails.bat上调用升级。到目前为止,调用不带参数的命令将产生一个确认问题,即是否继续进行所请求的操作- Ant 这将创建一个无限循环。为了避免这种情况,我添加了“-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>
希望这会帮助到别人。
关于grails - 对grails的 Ant 调用因 “[exec] Application is pre-Grails 0.5, please run: grails upgrade”而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9733747/