如何在Jenkins中仅通过编译检测代码错误,无需运行代码?
解决方案
- 修改Jenkins中的Maven目标为
clean compile- Maven构建生命周期按阶段顺序执行,
compile阶段早于test阶段。如果主代码存在语法错误,compile阶段会直接失败,后续test阶段不会启动,刚好满足你「仅通过编译结果判定构建成败、无需运行测试」的核心需求。
- Maven构建生命周期按阶段顺序执行,
- 关于原命令
clean compile test的问题说明- 正常情况下,只有
compile阶段成功完成后,Maven才会进入test阶段。如果出现先运行测试再抛出编译错误的情况,大概率是语法错误出现在测试代码中而非主代码:- 测试代码的编译对应
test-compile阶段,该阶段在test阶段之前。若测试代码有语法错误,test-compile会直接失败,不会执行测试用例。此时可使用clean test-compile仅验证测试代码的编译情况,或用clean compile test-compile同时验证主代码与测试代码的编译,两种方式都不会运行测试。
- 测试代码的编译对应
- 正常情况下,只有
内容的提问来源于stack exchange,提问作者Kshitij Kumar
相关产品推荐
相关产品推荐

