在Grails中,如何使用Ant更改环境变量?

时间:2011-04-18 09:56:16

标签: grails ant build

我很确定以前曾经问过这个问题但是我花了很长时间用Google搜索后似乎无法找到正确答案... :)

无论如何,在我们的构建服务器中,我们有两(2)个不同版本的Grails和Java在运行;一个是1.3.3,JDK 1.5,而另一个是1.3.6,JDK 1.6。现在,在为这两个项目构建/创建WAR文件时,我们非常需要通过ANT脚本自动切换GRAILS_HOME和JAVA_HOME的环境变量...我是一个总noob>。<

考虑:

...
<target name="clean">
...
</target>

<target name="war" depends="clean">
...
</target>
...

如果我在clean完成时设置了env't变量,那么当运行war时它将不一样(我尝试使用批处理文件和即使它有效,它也很混乱,而不是干......因此,我正在寻找替代方案。)

现在,我已经看到macrodef在几个论坛上被抛出,但我似乎无法得到关于如何在这种情况下做到这一点的明确示例。关于我能做什么或指点的任何建议?

任何帮助都将不胜感激。

非常感谢!

1 个答案:

答案 0 :(得分:3)

我有一个类似的用例,我也在谷歌搜索相同的。直到现在我已经有了这些,明天我会尝试这些办公室。

  1. <java classname="ShowJavaVersion" classpath="."
    jvm="path-to-java14-home/bin/java" fork="true"
    taskname="java1.4">
    
  2. <property environment="env"/>
    <exec ...>
        <env key="PATH" path="${env.PATH}:${basedir}/bin"/>
    </exec>
    
  3. 执行批处理文件。