2015-05-19 64 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>