错误:使用 gradle 运行 JMH 时无法找到资源:/META-INF/BenchmarkList
Posted
技术标签:
【中文标题】错误:使用 gradle 运行 JMH 时无法找到资源:/META-INF/BenchmarkList【英文标题】:ERROR: Unable to find the resource: /META-INF/BenchmarkList when running JMH with gradle 【发布时间】:2017-12-08 05:59:37 【问题描述】:我想使用 JMH 对我的应用程序进行基准测试。 我正在使用带有 gradle 的 JMH 作为构建工具。 github 仓库是here。
但是每当我运行应用程序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.
我在其他 *** 中尝试了不同的解决方案,但无济于事。
知道我错过了什么。
【问题讨论】:
您的回购链接已失效。如果解决了,可以分享一下吗? @BingLi224 - 我更新了 repo。 【参考方案1】:我已经通过将此依赖项添加到我的项目中解决了这个问题:
testAnnotationProcessor "org.openjdk.jmh:jmh-generator-annprocess:$jmhVersion"
旁边
testImplementation "org.openjdk.jmh:jmh-core:$jmhVersion"
【讨论】:
【参考方案2】:实现'org.openjdk.jmh:jmh-core:1.33'
annotationProcessor 'org.openjdk.jmh:jmh-generator-annprocess:1.33'
就像龙目岛
【讨论】:
欢迎来到 Stack Overflow!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的答案以添加解释并说明适用的限制和假设。 “就像龙目岛一样”是不够的。还有***.com/editing-help 请在您的答案中添加一些解释,以便其他人可以从中学习【参考方案3】:尝试不使用 gradle 守护进程运行:
gradle --stop
gradle --no-daemon jmh
【讨论】:
对我来说结果相同。【参考方案4】:不确定您的项目设置如何,因为我在您的存储库中找不到 com.demo.aerospike.JMHAerospikeSpringData
。也许你想看看这个项目来尝试一些想法。
https://github.com/eugenp/tutorials/blob/master/core-java-modules/core-java-collections-maps-3/src/main/java/com/baeldung/map/concurrenthashmap/MapPerformanceComparison.java
【讨论】:
以上是关于错误:使用 gradle 运行 JMH 时无法找到资源:/META-INF/BenchmarkList的主要内容,如果未能解决你的问题,请参考以下文章
错误:无法找到带有 Gradle 路径“:capacitor-cordova-android-plugins”的模块
Gradle(包装器)+ STS + Spring Boot:错误:无法找到或加载主类 1.1,
Flutter 收到错误“错误:无法找到或加载主类 org.gradle.wrapper.GradleWrapperMain”