java - 仅运行 testMethod() 的 JMH 基准测试
问题描述
公共类 MyBenchmark {
@Benchmark
public void otherMethod() {
}
@Benchmark
public void sessionCreation() {
}
public static void main(String[] args) throws RunnerException {
Options opt = new OptionsBuilder().include(MyBenchmark.class.getSimpleName()).forks(1).build();
new Runner(opt).run();
}
运行到以下错误:
java.lang.NoSuchMethodError: tesco.finance.gss.generated.MyBenchmark_jmhType.testMethod()V
at tesco.finance.gss.generated.MyBenchmark_testMethod_jmhTest.testMethod_thrpt_jmhStub(MyBenchmark_testMethod_jmhTest.java:119)
at tesco.finance.gss.generated.MyBenchmark_testMethod_jmhTest.testMethod_Throughput(MyBenchmark_testMethod_jmhTest.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
解决方案
解决方案是执行 mvn clean install,然后再次运行该程序。像魅力一样工作!
推荐阅读
- python - python flask-无法使用同一网络中其他计算机的 POSTMAN 上传文件
- python - Pyspark:如何合并 Pandas 等数据帧?
- ruby-on-rails - 有没有办法在rails序列化程序中对多个属性应用条件
- c - 在 c 编程中保持内存中的值
- sql - 如何在 DB2 一个 SELECT/SET 语句中设置两个标量变量
- python-2.7 - 如何将日志文件从 cloudwatch 日志传输到 redshift
- r - 查找给定开始和结束时间的设定范围/间隔(data.table 包)
- php - Laravel 将 url 列表传递给正确的 id
- android - 单击列表视图后,如何将一个按钮用于多个活动?
- android - Instant App 模块正在运行,但 Apk 模块无法正常工作