2013-08-28 28 views
3

我想在ANT.Below中生成一個罐子是我生成jar文件的代碼。我不知道爲什麼這個錯誤(「嘗試覆蓋任務javac的舊定義」)發生。有時它不生成罐子。ANT |嘗試覆蓋任務javac的舊定義錯誤

<?xml version="1.0" ?> 
<project name="HelloWorld" default="compress"> 

    <presetdef name="javac"> 
      <javac includeantruntime="false" /> 
    </presetdef> 

    <target name="init"> 
     <mkdir dir="build/classes" /> 
     <mkdir dir="dist" /> 
    </target> 

    <target name="compile" depends="init"> 
     <javac srcdir="src" destdir="build/classes"/> 
    </target> 

    <target name="compress" depends="compile"> 
      <jar destfile="dist/sample.jar" basedir="build/classes" /> 

    </target> 

    <target name="execute" depends="compile"> 
     <java classname="src" classpath="build/classes" /> 
    </target> 

    <target name="clean"> 

    </target> 

</project> 

輸出如下:

Buildfile: E:\GAD project\project\GAD\build.xml 
Trying to override old definition of task javac 
init: 
    [mkdir] Created dir: E:\GAD project\project\GAD\dist 
compile: 
compress: 
     [jar] Building jar: E:\GAD project\project\GAD\dist\sample.jar 
BUILD SUCCESSFUL 
Total time: 1 second 

讓我知道我可以糾正錯誤味精?

回答

3

可以試試這個

<presetdef name="my.javac"> 
      <javac includeantruntime="false" /> 
    </presetdef> 


    <target name="compile" depends="init"> 
     <my.javac srcdir="src" destdir="build/classes"/> 
    </target> 
+0

:Excellent.it去off.but生成JAR需要一些time.can你請在那裏建議我。大小約爲1909 kb – sree

0

我曾在我的build.xml以下導入這是導致問題

<import file="${sdk.dir}/tools/ant/build.xml" />