Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheAnt-使用build.xml编译和运行_Xml_Apache_Ant_Build_Build.xml - Fatal编程技术网

ApacheAnt-使用build.xml编译和运行

ApacheAnt-使用build.xml编译和运行,xml,apache,ant,build,build.xml,Xml,Apache,Ant,Build,Build.xml,我想编译然后执行我的程序,给它两个输入参数。为什么不起作用 <?xml version="1.0" encoding="UTF-8"?> <project default="run" name="MyProgram compile and run"> <target name="run" depends="compile"> <classpath path="." /> <exec executable="MyProgra

我想编译然后执行我的程序,给它两个输入参数。为什么不起作用

<?xml version="1.0" encoding="UTF-8"?>
<project default="run" name="MyProgram compile and run">

<target name="run" depends="compile"> 
    <classpath path="." />
    <exec executable="MyProgram">
        <arg value="80"/>
        <arg value="C:/"/>
    </exec> 
</target>

<target name="compile">
    <javac srcdir="." destdir="." />
</target>

</project>

你到底想干什么?您正在编译一组Java代码,然后使用exec执行MyProgram。那个文件名为MyProgram.exe吗?或者,这是Java代码吗

如果MyProgram是通过javac编译的java代码,则可能需要使用运行java运行时引擎的任务来执行编译的*.class文件

我假设您有一个名为MyProgram.Java的Java文件,您希望编译它并执行MyProgram.class


类路径标记在那里无效。为什么不?我的构建文件与MyProgram.java位于同一文件夹中。或者它的位置不对?类路径用于java和javac任务,不能用作目标的嵌套标记。不要使源目录和destdir目录相同!创建某种类型的构建目录并将其用作destdir。
<project name="MyProgram" default="run" basedir=".">   <!-- No spaces in project name! -->

    <target name="clean">
        <delete dir="${basedir}/dest"/>
    </target>

    <!-- Put the Java Source and Destination under their own directories -->
    <target name="compile">
        <mkdir dir="${basedir}/dest"/>
        <javac srcdir="${basedir}/src"
            destdir="${basedir}/dest"/>
    </target>

    <target name="run">
        <!-- Assuming file called dest/MyProgram.class was built -->
        <java classname="MyProgram"
            classpath="${basedir}/dest">
            <arg value="80"/>
            <arg value="C:"/>
       </java>
    </target>