我正在尝试在ANT中构建一个jar.Below是我生成jar文件的代码。我不知道为什么会出现这个错误(“试图覆盖任务javac的旧定义”)。有时它不会生成jar。
<?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
让我知道如何纠正错误消息?
答案 0 :(得分:3)
试试这个
<presetdef name="my.javac">
<javac includeantruntime="false" />
</presetdef>
<target name="compile" depends="init">
<my.javac srcdir="src" destdir="build/classes"/>
</target>
答案 1 :(得分:0)
我的build.xml中有以下导入导致问题
<import file="${sdk.dir}/tools/ant/build.xml" />