【问题标题】:Eclipse runs ANT twice, even sending run only onceEclipse 运行 ANT 两次,甚至只发送一次运行
【发布时间】:2017-03-30 17:24:31
【问题描述】:

在 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 生成一个 jar 的方式与它在 netbeans 中生成的方式一样,问题是 ANT 运行两次并生成 2 个 jar,即使我只发出一次命令,如下面的打印所示:

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

【问题讨论】:

  • 在我的脑海中,只有一件事会导致这种情况。 ANT 是您在项目构建器中添加的构建器。 (项目->右键单击->属性->构建器)
  • @alok 太棒了!正是这个。谢谢支持,我已经不知道去哪里找了。 :)
  • @alok 如果只是手动生成jar,我不需要添加“Builders”?
  • 如果工作区设置为自动构建,那么可以!

标签: java eclipse ant jar


【解决方案1】:

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

项目 -> 右键单击​​ -> 属性 -> 构建器

您可以将它与 Eclipse 的工作区设置为“自动构建”一起保持启用 - 这将触发自动构建。

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

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

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 2011-12-13
    • 2017-10-17
    • 2013-11-13
    相关资源
    最近更新 更多