有没有从Eclipse自动生成ant build.xml文件的方法?

时间:2010-11-15 15:33:22

标签: java eclipse ant build.xml

从Eclipse中,我发现我可以轻松导出项目的Ant构建文件。它提供对第三方库和一些基本目标的引用。我在我的全局构建文件中使用它。困扰我的唯一问题是,如果在项目结构中修改某些内容(比如添加新的第三方库),我们必须考虑(有时可能很难!)重新生成该build.xml文件。 我想知道这里是否有人知道如何让它自动更新。“自动”我的意思是没有必要明确要求Eclipse在每次需要时重新生成它。我不知道触发器可能是什么......

对此有何想法或知识?

谢谢!

MJ

7 个答案:

答案 0 :(得分:70)

右键单击Eclipse项目,然后单击“导出”,然后单击“常规”,再单击“Ant构建文件”。我不认为可以自定义输出格式。

答案 1 :(得分:5)

我一直在努力做同样的事情。我发现“Export Ant Buildfile”在org.eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.java文件中被启动。它驻留在org.eclipse.ant.ui插件中。

要查看源,请使用Plug-in Development透视图并打开Plug-ins视图。然后右键单击org.eclipse.ant.ui插件并选择import as>源项目。

我的计划是创建一个Java程序,以编程方式启动ant构建文件生成,并在每次构建时通过将ant文件添加到项目的构建器中来调用Ant文件(在项目的构建器上右键单击首选项,在建设者标签下)。

答案 2 :(得分:4)

我遇到了同样的问题,我们的工作环境基于Eclipse Java项目,我们需要自动构建一个ANT文件,以便我们可以使用持续集成服务器(在我们的例子中是Jenkins)。

我们推出了自己的Eclipse Java to Ant工具,现在可以在GitHub上使用:

ant-build-for-java

要使用它,请致电:

java -jar ant-build-for-java.jar <folder with repositories> [<.userlibraries file>]

第一个参数是包含存储库的文件夹。它将以递归方式搜索文件夹以查找任何.project文件。该工具将在给定文件夹中创建build.xml

可选地,第二个参数可以是来自Eclipse的导出的.userlibraries文件,当任何项目使用Eclipse用户库时需要该文件。该工具仅使用相对路径的用户库进行测试,这就是我们在repo中使用它们的方式。这意味着项目所需的JAR和其他归档都在Eclipse项目中,并从那里引用。

该工具仅支持来自其他Eclipse项目和Eclipse用户库的依赖项。

答案 3 :(得分:2)

查看项目中的.classpath文件,该文件可能包含您需要的大部分信息。最简单的选择可能是滚动你自己的“build.xml导出”,即在构建过程中将.classpath处理成一个新的build.xml,然后用一个ant子任务调用它。

解析一点XML对我来说比连接Eclipse JDT要容易得多。

答案 4 :(得分:2)

如果您只需要类路径条目,我会执行以下操作来使用eclipse构建路径。

<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />

然后在路径中设置该值

<path id="eclipse.classpath">
    <pathelement path="${classpath.classpathentry.path}"/>
</path>


<target name="compile" depends="init">

    <javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
        <classpath refid="eclipse.classpath"/>
    </javac>
</target>

答案 5 :(得分:1)

我是向Ant捐赠Ant导出过滤器的人。我添加了自动导出功能,但仅限于我的个人插件eclipse2ant,我仍然维护它来协调错误修复。

不幸的是,我没有时间将它合并到官方的Eclipse版本中。

答案 6 :(得分:0)

  • 选择文件&gt;从主菜单中导出(或右键单击项目名称并选择导出&gt;导出... )。
  • 在“导出”对话框中,选择常规&gt; Ant Buildfiles 如下: enter image description here

  • 点击下一步。在Generate Ant Buildfilesscreen中:

    • 检查列表中的项目。
    • 取消选中&#34;使用Eclipse编译器创建目标以编译项目&#34; - 因为我们想要创建一个独立于Eclipse的构建文件。
    • 保留Ant构建文件的名称作为默认值:build.xml

enter image description here

  • 单击完成,Eclipse将在项目目录下生成build.xml文件,如下所示:
    enter image description here
  • 双击build.xml文件,在Ant编辑器中打开其内容: enter image description here

source