我不知道如何使用JMH在Intellij中实现Scala程序的基准测试。
以下是我迄今所做的工作:
添加了JMH Plugin。
// build.sbt
name := "Project"
version := "1.0"
scalaVersion := "2.11.8"
enablePlugins(JmhPlugin)
// project/plugins.sbt
logLevel := Level.Warn
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.2.10")这是插件网站
创建了一个基准类
// src/main/scala/MyBenchmark.scala
import org.openjdk.jmh.annotations.Benchmark
class MyBenchmark {
@Benchmark
def test(): Unit = println("test")
}在Intellij中创建了一个SBT任务。

但是在运行这个任务之后,我得到了一个例外:
Annotation generator had thrown the exception.
java.lang.NullPointerException
at org.openjdk.jmh.generators.reflection.RFClassInfo.getPackageName(RFClassInfo.java:51)
at org.openjdk.jmh.generators.core.BenchmarkGenerator.validateBenchmark(BenchmarkGenerator.java:243)
at org.openjdk.jmh.generators.core.BenchmarkGenerator.generate(BenchmarkGenerator.java:90)
....我做错了什么?
发布于 2016-12-27 03:28:02
尝试在基准测试类中添加包名。
因为JMH抱怨没有找到包名。org.openjdk.jmh.generators.reflection.RFClassInfo.getPackageName(RFClassInfo.java:51)
您应该添加如下一行:
package your.path;https://stackoverflow.com/questions/39132058
复制相似问题