从Eclipse中,我发现我可以轻松导出项目的Ant构建文件。它提供对第三方库和一些基本目标的引用。我在我的全局构建文件中使用它。困扰我的唯一问题是,如果在项目结构中修改某些内容(比如添加新的第三方库),我们必须考虑(有时可能很难!)重新生成该build.xml文件。 我想知道这里是否有人知道如何让它自动更新。“自动”我的意思是没有必要明确要求Eclipse在每次需要时重新生成它。我不知道触发器可能是什么......
对此有何想法或知识?
谢谢!
MJ
答案 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上使用:
要使用它,请致电:
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)
点击下一步。在Generate Ant Buildfilesscreen中: