在典型的ant构建文件中有哪些默认目标?

在典型的ant构建文件中有哪些默认目标?,ant,build-process,build,version-control,Ant,Build Process,Build,Version Control,您是否有一些预定义的目标集,您创建的所有build.xml文件都包含这些目标集? 例如,许多ant手册建议列出以下目标: 初始化 干净的 编撰 建造 罐子 试验 javadoc 距离 部署 网络应用 您一生中遇到的最大构建文件是什么?它有多少个目标,它们是什么?您需要超过预定义目标集的频率是多少 我们的目标是开发一些约定,以便为任何项目提供标准的构建文件模板,同时考虑到类似maven的方法(当大量工作在幕后进行时,约定优先于配置)。另外,如果您知道在哪里可以找到不同构建文件的集合以供选择或从

您是否有一些预定义的目标集,您创建的所有
build.xml
文件都包含这些目标集? 例如,许多ant手册建议列出以下目标:

  • 初始化
  • 干净的
  • 编撰
  • 建造
  • 罐子
  • 试验
  • javadoc
  • 距离
  • 部署
  • 网络应用
您一生中遇到的最大构建文件是什么?它有多少个目标,它们是什么?您需要超过预定义目标集的频率是多少


我们的目标是开发一些约定,以便为任何项目提供标准的构建文件模板,同时考虑到类似maven的方法(当大量工作在幕后进行时,约定优先于配置)。另外,如果您知道在哪里可以找到不同构建文件的集合以供选择或从中获得灵感,那就太好了。

我也在所有ant文件中使用这些目标

  • 初始化
  • 干净的
  • 编撰
  • 建造
  • 试验
  • javadoc
构建目标总是创建人工制品,不管它是罐子、战争还是其他什么

您还应该在约定中包括结构化的内容,例如所有库的共享存储库(由一些VCS进行版本控制)。 另一件事是为您的jar版本定义属性,例如:

lib.commons-collections=commons-collections-2.1.jar
lib.commons-io=commons-io-1.4.jar
common.jar是一个放置工件的地方,以防其他项目依赖它们

<path id="local-cp">
    <pathelement path="${dir.common.jar}/${lib.shared}" />
    <pathelement path="${dir.lib}/${lib.commons-logging}" />
    <pathelement path="${dir.lib}/${lib.commons-io}" />
...

...
对于部署,我使用另一组ant文件deploy_component-name.xml 在使用ant多年后,我建议限制目标的数量,有时您可能需要更多的步骤来生成代码等

要了解其他人如何处理更大的项目,您可以下载应用程序服务器的源发行版,以检查他们是如何完成这项工作的。

  • int
  • 建造
  • 罐子
  • 部署
  • 包装
  • 干净的
  • 试验