1

我编写了一个 ant 脚本,当我将它与 eclipse 一起使用时,它运行正常并生成 .jar 文件。但是当我在windows xp的命令提示符下使用它时,它显示成功,但没有任何反应。ant 配置正确,我也可以运行其他 ant 脚本。

这是我的 build.xml 文件

<?xml version="1.0"?>
<project name="TaskNodeBundle" basedir=".">
    <!-- Sets variables which can later be used. -->
    <!-- The value of a property is accessed via ${} -->
    <property name="bundlename" value="task-node-bundle" />
    <property name="src.dir" location="../src" />
    <property name="lib.dir" location="../lib" />
    <property name="build.dir" location="/buildoutput" />
    <property name="build.dest" location="build/dest" />


    <!--
    Create a classpath container which can be later used in the ant task
  -->
    <path id="classpath">
        <fileset dir="${lib.dir}/">
            <include name="*.jar" />

        </fileset>
    </path>

    <target name="clean">
            <delete dir="${build.dir}" />
            <delete dir="${build.dest}" />
    </target>


    <!-- Deletes the existing build directory-->
    <target name="mkdir" depends="clean">
            <mkdir dir="${build.dest}"/>
    </target>


<!-- Compiles the java code -->
    <target name="compile" depends="mkdir">
        <javac srcdir="${src.dir}" destdir="${build.dest}" classpathref="classpath" />
    </target>

    <target name="package-bundle" depends="compile" description="Generates the bundle">
        <jar destfile="${dist.dir}/${bundlename}.jar">
            <fileset dir="${src.dir}">
                <include name="**/**.class" />
                <include name="**/**.properties"/>
                <include name="/META-INF/**.*" />
                <include name="/META-INF/spring/**.*" />
            </fileset>

        </jar>
    </target>


</project>
4

1 回答 1

3

当您从命令行执行 ant 脚本时,它将执行build.xml文件中定义的第一个目标(在您的情况下clean)。

您可以在命令行上指定要执行的目标

$ ant target1 target2

<project>或者在 build.xml 文件中使用标签的默认属性定义一个默认目标:

<project name="TaskNodeBundle" basedir="." default="package-bundle">
于 2012-08-30T06:15:26.267 回答