Ant:从Ant执行java程序并存储返回值

Ant:从Ant执行java程序并存储返回值,java,ant,Java,Ant,我是新来的蚂蚁。我基本上是在尝试从ant执行java程序。我已经设法使它起作用了。但是,我不知道如何在ant中捕获程序返回的值,以便在ant文件中使用它进行进一步的操作 build.xml <?xml version="1.0" encoding="UTF-8"?> <project default="run" name="Experiment 1"> <property name="shimura" value="Danzo!!!"/> &l

我是新来的蚂蚁。我基本上是在尝试从ant执行java程序。我已经设法使它起作用了。但是,我不知道如何在ant中捕获程序返回的值,以便在ant文件中使用它进行进一步的操作

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project default="run" name="Experiment 1">
    <property name="shimura" value="Danzo!!!"/>
    <target name="run" depends="compile">
        <java classname="com.sim.expt.Demo">
            <classpath path="./staging" />
            <arg line="${shimura}"/>
        </java>
    </target>
    <target name="compile">
        <javac srcdir="./src" includeantruntime="false" destdir="./staging" />
    </target>
</project>

使用
outputproperty
属性,如中所述



然后
${myprop}
将包含来自stdout和stderr的输出(除非单独重定向)。

使用
outputproperty
属性,如中所述



然后,
${myprop}
将包含来自stdout和stderr的输出(除非单独重定向)。

Ant是一个构建工具。您希望在此处使用的“返回值”是字符串“Nani!!!Danzo!!!”?尝试这样做的最终原因是什么,因为可能有更好的方法来实现同样的目标?(例如在这个简单的例子中创建另一个属性)您使用的是什么Java版本?因为Java 11只需一个类的简单程序就可以用
Java Demo.Java
命令启动。我只是在用Ant做实验。基本上,我想知道的是如何将变量从ant文件传递到java程序,并存储java程序返回的值。您希望在此处使用的“返回值”是字符串“Nani!!!Danzo!!!”?尝试这样做的最终原因是什么,因为可能有更好的方法来实现同样的目标?(例如在这个简单的例子中创建另一个属性)您使用的是什么Java版本?因为Java 11只需一个类的简单程序就可以用
Java Demo.Java
命令启动。我只是在用Ant做实验。基本上,我想知道的是如何将变量从ant文件传递到java程序,并存储java程序返回的值。例如,将
${myprop}
放在
后面以查看它。例如,将
${myprop}
放在
后面以查看它。
package com.sim.expt;

public class Demo {

    public static void main(String[] args) {
        String name=args[0];
        System.out.println("Nani!!!!!!!"+name);
    }

}
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" name="Experiment 1">
    <property name="shimura" value="Danzo!!!"/>
    <target name="run" depends="compile">
        <java classname="com.sim.expt.Demo" outputproperty="myprop">
            <classpath path="./staging" />
            <arg line="${shimura}"/>
        </java>
    </target>
    <target name="compile">
        <javac srcdir="./src" includeantruntime="false" destdir="./staging" />
    </target>
</project>