当前位置: 首页 > 面试题库 >

在eclipse中从main运行JMH时,“没有匹配的基准”

龙焱
2023-03-14
问题内容

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

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

No matching benchmarks. Miss-spelled regexp?

有任何想法吗?我正在使用版本0.3


问题答案:

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

我按照以下方式运行:

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

不利的一面是,由于eclipse与自动生成的文件相混淆,因此在“问题”视图中您可能会看到1000多个“错误”,但是,哦,至少它可以正常工作。



 类似资料:
  • 我想通过在eclipse中运行JMH作为Java应用程序来尝试JMH的新特性。我导入并构建了jmh样本项目。编译的类以 /jmh-samples/target/generated-sources/annotations结束, /target/中有几个JAR,并像往常一样从命令行运行microbenchmarks.jar。 然而,当我执行main时,我总是得到 有什么想法吗?我使用的是 0.3 版

  • 我有几个用@Benchmark注释的大型基准类。在使用基准构建jar后,我可以使用以下命令运行所有这些类 如果我不想运行所有基准测试,如何指定要运行的基准测试?

  • 我想开始看看JMH,由于某些原因,我无法运行基准测试。让我解释一下我尝试过什么: 下载了一些官方的JMH示例。作为例子,我选择了非常简单,是一个很好的起点:http://hg.openjdk.java.net/code-tools/jmh/file/0c58dc4fcf17/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_01

  • 有一个错误,JMH没有让我的类达到基准。 其中EventRunner包含: 我得到一个错误: 不包括:org。样品我的基准。testMethod,与com不匹配。斯特库拉。基准策略EventRunner没有匹配的基准。拼写为regexp的小姐?使用-v表示详细的输出。 如何将正则表达式更改为有效? 谢谢

  • 我正在尝试编译并运行以下程序,而不使用中的函数。我使用以下命令编译了程序。 编译器发出警告 好的,没问题。然后,我已经运行了可执行文件(a.out),两个< code>printf语句都打印成功,然后得到分段错误。 所以,我的问题是,为什么成功执行打印语句后会出现分段错误? 我的代码: 输出: 注意: 在这里, gcc 标志阻止编译器在链接时使用标准启动文件

  • 我有一个Groovy和Gradle项目在Eclipse开普勒有几个类和一个Spock规范。我可以从shell运行Gradle构建,它工作正常,包括Spock规范。 我现在想尝试在Eclipse中运行Spock规范,无论是否在调试器中。当我运行它时,我看到以下内容: 这是我构建的“依赖项”块。格雷德尔: 我可以在Project Explorer中看到我的Gradle依赖项具有groovy-all-2