通过ANT Build将参数传递给JAVA main

时间:2015-05-19 00:42:51

标签: java ant target

我是蚂蚁的新手,我想将参数4 4和50发送到我的JAVA主类。这是我到目前为止所做的。

<target name="run" depends="jar">

        <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
            <arg value ="4"/>
            <arg value ="4"/>
            <arg value ="40"/>
        </java> 
 </target>

我得到的错误是:

BUILD FAILED`C:\Users\Admiral Sudoku\Documents\Eduboard\Ken Ton\build.xml:40: The element typ
e "target" must be terminated by the matching end-tag "</target>".

2 个答案:

答案 0 :(得分:1)

缺少报价:

<arg value ="40"/>
               ^---- here

您还关闭了<java代码两次:

<java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
                                                          ^--- non need for /

你的剪辑应该在<project>标记内。

如果您在浏览器中打开build.xml,也可以更轻松地“调试”xml语法。 (例如在Firefox中)。

答案 1 :(得分:0)

Please use this.

<?xml version="1.0" encoding="UTF-8"?>

<project name="TestApp" basedir="." default="main">

<property name="src.dir"     value="src"/>
<property name="classes.dir" value="classes"/>
<property name="jar.dir"     value="jar"/>
<property name="main-class"  value="AppRunner"/>

<target name="clean">
    <delete dir="${classes.dir}"/>
    <delete dir="${jar.dir}"/>
</target>

<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>

<target name="jar" depends="compile">
    <mkdir dir="${jar.dir}"/>
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
        <manifest>
            <attribute name="Main-Class" value="${main-class}"/>
        </manifest>
    </jar>
</target>

<target name="run" depends="jar">

    <java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
        <arg value="12"/>
        <arg value="15"/>
        <arg value="17"/>
        <arg value="18"/>
        <arg value="20"/>
    </java>

</target>

<target name="main" depends="run"/>

</project>