-6ren">
gpt4 book ai didi

grails - 设置任务,设置不同的环境

转载 作者:行者123 更新时间:2023-12-02 14:56:45 25 4
gpt4 key购买 nike

尝试创建一个grails ant任务,该任务除了针对 war 任务的生产以外还具有其他环境。

我试过了

<target name="war" depends="-init-grails" description="--> Creates a WAR of a Grails application">
<grails script="War" args="grails.env=${env} ${war.filename}"/>
</target>


<target name="war" depends="-init-grails" description="--> Creates a WAR of a Grails application">
<grails script="War" args="-Dgrails.env=${env} ${war.filename}"/>
</target>

两者都不起作用,并且始终只运行生产环境。请注意,我也已经对$ {env}进行了硬编码,因此并不是说它丢失了

最佳答案

我为此使用macrodef:

<property environment='env'/>

<property name='grails.home' value='${env.GRAILS_HOME}' />

<condition property='grails' value='grails.bat'>
<os family='windows'/>
</condition>
<property name='grails' value='grails' />

<macrodef name='grails'>
<attribute name='action' />
<attribute name='environment' default='dev' />
<element name='preargs' optional='true' />
<element name='args' optional='true' />
<sequential>
<exec executable='${grails}' failonerror='true'>
<preargs />
<arg value='@{environment}'/>
<arg value='@{action}'/>
<args />
</exec>
</sequential>
</macrodef>

您可以执行简单的命令:
<grails action='clean' />

或更复杂的任务,例如您的 war 任务:
<grails action='war' environment='${env}'>
<args>
<arg value="${war.filename}" />
</args>
</grails>

关于grails - 设置任务,设置不同的环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com