如何阻止Eclipse项目构建器重复执行两次?
解决HTML美化工具触发重复构建的问题
以下是几个实用的解决思路,帮你阻止beautifier因自身修改文件而触发的重复构建:
给美化工具加前置检查,仅在需要时修改文件
多数HTML美化工具支持先检查文件是否已符合格式规范,只有不符合时才执行修改操作。比如用html-beautify的话,先通过html-beautify --check 目标文件命令判断是否需要格式化:返回0表示文件已合规,非0则需要修改。
你可以写个简单的脚本封装这个逻辑(以Shell脚本为例):# 接收传入的HTML文件路径 TARGET_FILE="$1" # 检查文件是否需要格式化 html-beautify --check "$TARGET_FILE" if [ $? -ne 0 ]; then # 仅在需要时执行美化并覆盖原文件 html-beautify -r "$TARGET_FILE" fi然后把构建器的执行命令改成调用这个脚本,传入当前修改的文件路径。这样工具不会重复修改已格式化的文件,自然不会触发二次构建。
调整构建器的触发规则
打开Builders配置页,找到你的beautifier构建器,切换到Build Options标签:- 取消勾选
During auto builds,只保留Manual builds和On resource modification; - 或者勾选
Specify working set of relevant resources,手动选择需要监听的HTML文件范围,避免不必要的触发(不过这个方案不如前置检查精准)。
- 取消勾选
用第三方插件实现HTML的Save Action替代方案
原生IDE的Save Action不支持HTML,但可以安装第三方扩展插件(比如Eclipse的HTML Editor Enhancements类插件),这类插件能绑定“保存HTML文件”事件到美化命令,在保存流程内直接完成格式化,不会触发后续的构建器重复运行。
内容的提问来源于stack exchange,提问作者Tobias Liefke
相关产品推荐
相关产品推荐

