You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JMH Gradle插件时提示“No matching benchmarks”问题求助

解决JMH插件找不到基准测试的问题

你的问题出在JMH Gradle插件默认只扫描src/jmh/java目录下的基准测试类,而你带@Benchmark注解的类放在了src/main/java里,所以插件识别不到。

给你两个可行的解决办法:

  • 迁移基准测试类:把带@Benchmark的类移到src/jmh/java目录下(目录不存在就手动创建),这是插件的默认约定,不用改配置就能正常识别。

  • 修改配置扫描main目录:如果不想移动类,在build.gradle.kts里添加sourceSet配置,让JMH插件包含main目录的代码:

    plugins {
        id("java")
        id("me.champeau.jmh") version "0.7.0"
    }
    
    sourceSets {
        named("jmh") {
            java.srcDirs("src/main/java")
        }
    }
    
    jmh {
        includes.set(listOf(".*"))
    }
    
    dependencies {
        implementation("org.openjdk.jmh:jmh-core:1.36")
        annotationProcessor("org.openjdk.jmh:jmh-generator-annprocess:1.36")
    }
    

另外补充个优化点:jmh-generator-annprocess依赖改用annotationProcessor而非implementation,这样注解处理器仅在编译阶段生效,避免不必要的依赖传递。

内容的提问来源于stack exchange,提问作者synapse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:17:01