2015-05-19 29 views
0

我对ant完全陌生,我想将参数4 4和50发送到我的JAVA主类。这是我迄今为止所拥有的。通过ANT将参数传递给JAVA main构建

<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>". 

回答

1

在缺少引号:

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

你也关闭<java标签两次:

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

而且你的文档片断应该是在内标记。

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

+0

你可以编辑你的问题和更新与新的build.xml和错误消息吗? –

+0

是的,我只是做了。 – law

+0

发现其他问题 –

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>