从日食中的主要运行JMH时"没有匹配的基准"

Kra*_*ach 10 java eclipse benchmarking jmh

我想通过在eclipse中将其作为Java Application运行来试用JMH的新功能.我导入并构建了jmh-samples项目.编译后的类以/ jmh-samples/target/generated-sources/annotations结尾,/ target /中有几个JAR,并且从命令行运行microbenchmarks.jar像往常一样工作.

但是,当我执行main时,我总是得到

No matching benchmarks. Miss-spelled regexp?
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我使用的是0.3版

Kra*_*ach 3

好的,看起来默认情况下 jmh 会在 META-INF/Microbenchmarks 下查找生成的类,maven 构建将其放在项目的根目录下。然而 Eclipse 项目的根目录不在类路径上,因此在 IDE 中执行它会导致“未找到基准”。

我按照以下方式运行它:

  1. mvn clean package(使用外部maven安装,未嵌入到eclipse中)
  2. 右键单击 jmh-samples 项目,选择“构建路径 -> 用作源文件夹”
  3. 您现在可以在 eclipse 中将 jmh-samples 中的任何基准作为 Java 应用程序运行

不利的一面是,你会在问题视图中看到 1000 多个“错误”,因为 Eclipse 会与自动生成的文件混淆,但是哦,好吧,至少它可以工作。