从日食中的主要运行JMH时“没有匹配的基准”
我想通过在eclipse中将其作为Java Application运行来试用JMH的新function。 我导入并构建了jmh-samples项目。 编译的类以/ jmh-samples / target / generated-sources / annotations结束,/ target /中有几个JAR,并且从命令行运行microbenchmarks.jar像往常一样工作。
但是,当我执行main时,我总是得到
No matching benchmarks. Miss-spelled regexp?
有任何想法吗? 我使用的是0.3版
jmh-dev @是与开发人员沟通的更好方法。
几件事情要尝试:
- 劫持
Main
可能不是一个好主意。 请使用Java API, 例如此示例 。 - 使用
-v extra
来调试模式匹配:filterregexp不正确,或者没有运行基准测试。 - 如果正则表达式不正确,请修复它。
- 如果没有可匹配的基准测试,则可能无法正确生成和/或拾取资源。 确保classpath上也可以使用
target/classes/
。
好吧,所以看起来默认情况下jmh在META-INF / Microbenchmarks下查找生成的类,maven build放在项目的根目录下。 但是,eclipse项目的根目录不在类路径上,因此在IDE中执行它会导致“找不到基准”。
我按照以下方式运行:
- mvn clean package(使用外部maven安装,不嵌入eclipse)
- 右键单击jmh-samples项目,选择“Build Path – > Use as a source folder”
- 您现在可以在jclipse中运行jmh-samples中的任何基准测试作为Java Application
在缺点方面,你会在问题视图中看到1000多个“错误”,因为eclipse会与自动生成的文件混淆,但哦,好吧,至少它是有效的。
- 无头日食的config.ini设置
- System.out.print()不向Eclipse控制台发送任何输出。 为什么?
- 如何从首选项页面获取文件的路径,并通过Workbench上的Button在控制台上打印输出?
- 如何在OSX Mountain Lion上为环境变量设置应用程序?
- java.util.Map $ Entry类型无法解析。 它是从所需的.class文件间接引用的
- JPA @MappedSuperclass在Eclipse中的单独JAR中
- 如何在eclipse插件中添加IResourceChangeListener?
- 如何在调试模式下在Eclipse中运行外部工具
- 如何在不覆盖现有代码的情况下更改自上而下的Web服务