如何将/ META-INF/BenchmarkList附加到jmh任务来修复"ERROR:无法找到资源:/ META-INF/BenchmarkList"

cod*_*ick 5 java performance gradle build.gradle jmh

我一般都是微型基准测试的新手.当我在项目中执行JMH任务时,我得到"错误:无法找到资源:/ META-INF/BenchmarkList",我相信是由jmh-generator-annprocess创建的.我正在使用Gradle,我试图找出jmh-generator-annprocess是否正常工作?它是否适用于Gradle或我是否需要使用Maven插件?

https://github.com/coderrick/JMH-Studies.git如果你想要git clone我的项目并自己运行它.

vsm*_*kov 1

有几个问题

  1. JMHSample_02_BenchmarkModes类位于错误命名的 java 类中
  2. build.gradle 缺少apply plugin: "me.champeau.gradle.jmh"声明
  3. jmhJar部分Main-Class清单条目被覆盖(这是不必要的)

我已经用上述修复程序制作了PR。应用后,您可以使用运行性能测试

java -jar build/libs/JMH-Studies-jmh.jar
Run Code Online (Sandbox Code Playgroud)