从 Eclipse 中,我发现我可以轻松地为我的项目导出 Ant 构建文件。它提供了对 3rd 方库和一些基本目标的引用。我正在从我的全局构建文件中使用它。唯一困扰我的是,如果项目结构中的某些内容被修改(比如添加新的 3rd 方库),我们必须考虑(是的,有时这可能很难!)重新生成 build.xml 文件。我想知道这里是否有人知道自动更新它的方法。“自动”是指每次需要时都不需要明确要求 Eclipse 重新生成它。虽然不知道是什么触发...
对此有任何想法或知识吗?
谢谢!
乔丹
右键单击一个 Eclipse 项目,然后单击“导出”,然后单击“常规”,然后单击“Ant 构建文件”。我认为不可能自定义输出格式。
我自己也一直在尝试做同样的事情。我发现“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 > source project。
我的计划是创建一个 Java 程序,以编程方式启动 ant 构建文件生成,并在每次构建时通过将 ant 文件添加到我的项目的构建器(在项目的构建器下右键单击首选项)在 Ant 文件中调用它标签)。
我遇到了同样的问题,我们的工作环境是基于 Eclipse Java 项目的,我们需要自动构建一个 ANT 文件,以便我们可以使用持续集成服务器(在我们的例子中是 Jenkins)。
我们推出了我们自己的 Eclipse Java to Ant 工具,现在可以在 GitHub 上找到它:
要使用它,请致电:
java -jar ant-build-for-java.jar <folder with repositories> [<.userlibraries file>]
第一个参数是包含存储库的文件夹。它将递归搜索文件夹中的任何.project
文件。该工具将build.xml
在给定文件夹中创建一个。
可选地,第二个参数可以是从 Eclipse 导出的 .userlibraries 文件,当任何项目使用 Eclipse 用户库时都需要该文件。该工具仅在使用相对路径的用户库中进行了测试,这就是我们在 repo 中使用它们的方式。这意味着项目所需的 JAR 和其他档案位于 Eclipse 项目中,并从那里引用。
该工具仅支持来自其他 Eclipse 项目和 Eclipse 用户库的依赖项。
查看项目中的 .classpath 文件,它可能包含您想要的大部分信息。最简单的选择可能是滚动您自己的“build.xml 导出”,即在构建过程中将 .classpath 处理为新的 build.xml,然后使用 ant 子任务调用它。
对我来说,解析一点 XML 听起来比挂钩到 Eclipse JDT 容易得多。
我是将 Ant 导出过滤器捐赠给 Eclipse 的人。我添加了自动导出功能,但仅限于我的个人插件eclipse2ant,我仍然维护它以协调错误修复。
不幸的是,我没有时间将它合并到官方的 Eclipse 版本中。
如果您只需要类路径条目,我会执行以下操作来使用 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>