|
|
1
2
你所看到的是意料之中的,因为你(可能)在比较两件不同的事情: 在EclipseIDE中强制重建时,只需编译所有java文件。(对于我们的270捆绑包项目,这大约需要1-2分钟。) 当使用PDE构建时,您也在打包产品(生成捆绑包和特性、解决插件依赖关系、JAR文件等),这需要花费更多的时间。(对于我们的项目,这大约需要6-7分钟。)在IDE中这样做的好处是打开.product文件,然后在编辑器的“概述”选项卡上选择“eclipse产品导出向导”。 至于如何加快构建的提示:我知道没有什么灵丹妙药。但是:搜索“tycho build eclipse”,和/或查看 http://www.vogella.com/tutorials/EclipseTycho/article.html 和 https://eclipse.org/tycho/ 换言之:您可以更改您的版本以使用Tycho,这将允许您单独构建每个插件(如果需要,可以增量构建)。 |
|
|
2
2
我在一个大型RCP项目中工作,工作空间中有大约50k个类,分布在850个项目/捆绑包中(目标平台中有类似数量的捆绑包)。我们在桌面和Jenkins服务器中都有SSD,以加快构建速度。Linux上的构建速度比Windows快得多。Windows工作区的刷新和清理需要大约2-3分钟,而完整的Linux无头构建需要大约25分钟(在Windows上需要一个多小时)。 PDE无头构建过程效率不高,而且会进行大量疯狂的I/O。在构建开始时,通常会看到脚本在“generateScript”和“generateFeature”阶段暂停几分钟。如果您分析这些文件,您会发现在计算依赖关系树时,build.properties文件有数百万次读取(我对1000个build.properties文件读取了4600万次,然后决定停止),因此有些地方不正确。PDE Headless构建系统现在在Eclipse中被有效地抛弃,取而代之的是Tycho,所以我怀疑它是否会受到关注。 如果您有Eclipse特性,请确保包含的内容是合理的-通过在多个地方包含相同的特性,我们发现上面的generateScript/generateFeature阶段可能需要比所需的时间更长的时间。 如果你可以分阶段构建你的项目,这样你就可以将一个阶段的产品作为下一阶段的目标平台,那么这真的很有帮助。 最后,尝试将构建移到Tycho/Maven。除了我们的一些支持项目之外,我们还没能做到这一点(部分原因是我们的目标平台是如何构建的,部分原因是在几个地方使用了customBuildCallbacks,通常是由于时间不足),但它似乎是一个更好的构建系统。 |