Eclipse运行ANT两次,甚至只运行一次

时间:2016-11-16 13:27:49

标签: java eclipse ant jar

在Netbeans中,经过一些研究,我设法编辑文件build.xml来自定义IDE生成我的jar和我的清单文件的方式。我不得不为Eclipse迁移一个项目,甚至找到了构建jar的选项,但是我需要用一些个性化的信息来构建我的jar。

我在eclipse的项目中添加了build.xml文件作为构建文件ANT,但是当我发送执行它时,eclipse会运行两次,一次生成2个jars文件。

关注我的文件build.xml:

<?xml version="1.0" encoding="UTF-8"?>

<project name="GerOficios" default="makejar" basedir='.'>

    <target name="makejar">

        <property file="version_info.properties" />

        <property name="application.title" value="GerOficios_v6" />

        <property name="main.class" value="com/dfmachado/geroficios/View/ListaDeOficiosUI" />

        <buildnumber file="build.num" />

        <property name="build.version.num" value="${version.number}.${build.number}" />

        <tstamp>
            <format property="TODAY" pattern="dd/MM/yyyy - HH:mm:ss" />
        </tstamp>

        <property name="store.jar.name" value="GerOficios ${build.version.num}" />

        <property name="store.dir" value="store" />
        <property name="store.jar" value="${store.dir}/${store.jar.name}.jar" />

        <echo message="Packaging ${application.title} into a single JAR at ${store.jar}" />

        <mkdir dir="${store.dir}" />

        <jar destfile="${store.dir}/temp_final.jar" basedir="bin" filesetmanifest="skip">
            <zipgroupfileset dir="lib" includes="*.jar" />

            <manifest>
                <attribute name="Main-Class" value="${main.class}" />
                <attribute name="SplashScreen-Image" value="com/dfmachado/geroficios/View/image/minerva.png" />

                <attribute name="Build-OS" value="${os.name} version ${os.version} on ${os.arch}" />
                <attribute name="Java-Version" value="${javac.source}" />
                <attribute name="Implementation-Title" value="${application.title}" />
                <attribute name="Implementation-Version" value="${build.version.num}" />
                <attribute name="Built-By" value="${user.name}" />
                <attribute name="Built-Date" value="${TODAY}" />
            </manifest>
        </jar>

        <zip destfile="${store.jar}">
            <zipfileset src="${store.dir}/temp_final.jar" excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA" />
        </zip>
        <delete file="${store.dir}/temp_final.jar" />

    </target>

</project>

要指出的是,eclipse以netbeans生成的方式生成jar,问题是ANT运行两次并生成2个jar,即使我只发出一次命令,如下面的打印所示:

enter image description here

在同一个项目中通过命令行运行ant并且只创建了一个文件,显然问题是eclipse中的一些配置,但到目前为止我还没有找到任何配置。

1 个答案:

答案 0 :(得分:4)

ANT是您在项目构建器中添加的构建器。请在这里查看:

  

项目 - &gt;右键单击 - &gt;属性 - &gt;助洗剂

您可以将Eclipse的工作区设置为&#34;自动构建&#34; - 这将触发自动构建。

或者,您可以从构建器列表中取消选择构建器,并在需要时手动运行它!

This SO Q+A is worth a quick (further) read