从build xml中更改JDK以运行<ANT>任务

Vin*_*tia 3 java ant build-automation mxmlc

我有build.xml调用swfbuild.xml.我希望父build.xml使用IBM JDK 1.5和swfbuild.xml来使用Sun JDK 1.6

<ant>任务中是否有任何选项可以指定使用不同的JDK?

我尝试像下面那样设置JAVACMD,但这也不起作用

如何为swfbuild.xml使用不同的JDK?

    <target name="Compile_SWF">
        <exec executable="cmd">
            <env key="JAVACMD" value="C:/Program Files/Java/jdk1.6.0_18" />
        </exec>
        <echo message="Start to Compile SWF content" />
        <ant antfile="swfbuild.xml" target="swf-masterbuild" />
        <exec executable="cmd">
            <env key="JAVACMD" value="C:/IBM/SDP/runtimes/base_v61/java" />
        </exec>
    </target>
Run Code Online (Sandbox Code Playgroud)

Dav*_*ett 5

在每个xml文件中,您可以指定要在javac任务中使用的可执行文件.除了executable =参数之外,您还必须包含fork = yes.

<javac fork="yes" executable="C:/Program Files/Java/jdk1.7.0_17/bin/javac">
Run Code Online (Sandbox Code Playgroud)

  • 这似乎是不可能的。尽管似乎有办法从 Ant 设置环境变量(使用 exec 和 cmd for windows),但它们似乎都不适用于当前正在执行的 ant 任务。我想一种解决方案是不使用“ant”任务来启动 swfbuild.xml,而是执行一个设置 JAVA_HOME 的脚本,然后在该 xml 文件上调用 ant。 (2认同)