【发布时间】:2011-04-13 09:26:36
【问题描述】:
我目前的团队已将 NetBeans 标准化用于我们所有的 Java 开发,并且我们使用 NetBeans 生成的 ANT 文件作为我们的正式构建过程。
但文件总是错误的。
团队的不同成员使用不同版本的 NetBeans,很明显,他们都生成略有不同的“build-impl.xml”文件。因此,在 IDE 启动时,NetBeans 将重新生成它认为不正确或过时的文件。
但是(因为这些文件被检入到源代码控制中,作为我们的官方构建脚本)构建文件通常与存储库不同步。如果我从我的机器签入自动生成的更改,那么我团队中的其他一些傻瓜将不得不覆盖他自己的构建脚本的本地副本,导致 NetBeans 抱怨文件已过时并且需要重新生成。
大多数情况下,这很烦人。每次开发人员进行签入时,自动生成的构建脚本中的虚假差异都会增加很多噪音来筛选。或者 IDE 经常抱怨外部修改的构建脚本。你赢不了。
但我也有一种持续的烦恼,即没有人拥有完全正确的构建脚本,我们正在将不确定性引入整个构建过程。
据我所知,这个问题有两种可能的解决方案:
1) 对特定的 NetBeans 版本进行标准化。在我们作为一个团队做出决定之前,不要让人们升级。并且不要让人们在旧版本上落后。如果团队中的每个人都使用相同的 NB 版本,那么这些问题将(可能)消失。
2) 不要将“build-impl.xml”脚本检查到源代码管理中。它由 IDE 自动生成,因此是“build.xml”和“project.xml”文件的工件。生成的文件(如“.class”文件)不应签入源代码管理,而应在构建过程中重新生成。弄清楚 NetBeans 使用什么机制来生成“build-impl.xml”文件,并在我们的构建服务器上执行相同的机制。这是否意味着我们的构建服务器必须依赖 NetBeans GUI?我希望不会。
你们怎么看?解决这个问题的正确方法是什么?
【问题讨论】:
标签: svn netbeans ant build-process