我想使用 JMH 对我的应用程序进行基准测试。我正在使用带有 gradle 的 JMH 作为构建工具。github 存储库在这里。
但是每当我运行该应用程序时com.demo.aerospike.JMHAerospikeSpringData,都会出现以下错误。
$ gradle run
> Configure project :
Task :jmh Last added: null
> Task :run
JMHAerospikeSpringData is running ...
Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList
at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98)
at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:122)
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:256)
at org.openjdk.jmh.runner.Runner.run(Runner.java:206)
at com.demo.aerospike.JMHAerospikeSpringData.main(JMHAerospikeSpringData.java:47)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':run'.
> Process 'command
'/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Run Code Online (Sandbox Code Playgroud)
我在其他 stackoverflow 中尝试了不同的解决方案,但无济于事。
知道我错过了什么。
我通过将此依赖项添加到我的项目中解决了这个问题:
testAnnotationProcessor "org.openjdk.jmh:jmh-generator-annprocess:$jmhVersion"
Run Code Online (Sandbox Code Playgroud)
旁边
testImplementation "org.openjdk.jmh:jmh-core:$jmhVersion"
Run Code Online (Sandbox Code Playgroud)
小智 0
尝试在没有 gradle 守护进程的情况下运行:
gradle --stop
gradle --no-daemon jmh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3650 次 |
| 最近记录: |