任何方式从Eclipse自动生成ant build.xml文件?

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

任何想法或知识呢?

谢谢!

MJ

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

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

要查看源代码,请使用“插件开发”透视图并打开“插件”视图。 然后右键单击org.eclipse.ant.ui插件并select导入为>源项目。

我的计划是创build一个Java程序,以编程方式启动ant构build文件的生成,并在每次构buildant文件时将其添加到Ant项目中(在项目的构build器中添加ant文件)标签)。

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

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

ant集结了Java的

要使用它,请致电:

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

第一个参数是存储库的文件夹。 它会recursionsearch任何.project文件的文件夹。 该工具将在给定的文件夹中创build一个build.xml

或者,第二个参数可以是从Eclipse导出的任何项目使用Eclipse用户库时所需的.userlibraries文件。 该工具只用用户库进行testing,使用相对path,这是我们如何在我们的回购中使用它们。 这意味着项目所需的JAR和其他档案在Eclipse项目中,并从那里引用。

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

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

parsing一个小小的XML听起来比插入到Eclipse JDT中容易得多。

如果你所需要的只是类path条目,那么我使用下面的方法来使用eclipse构buildpath。

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

然后在path中设置该值

 <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> 

我是向Eclipse提供Ant导出filter的人。 我添加了自动导出function,但只添加到我的个人插件eclipse2ant中 ,我仍然维护它来协调错误修复。

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