示例项目已准备好运行(在 gradle 中构建并使用 Eclipse 构建)@ https://github.com/langelescu/java-json-benchmark .
这是一个 fork 的 Github 存储库设置,用于在 Gradle 中构建,我为其创建了 Eclipse 2021-09 工作区。我试图 1) 从开发环境 Eclipse 或 2) 命令行运行它,但遇到两个错误:
- 如果我使用运行配置参数从 Eclipse 运行它“deser --apis stream --libs jackson,genson”,我得到:
Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98) at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:122) at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:263) at org.openjdk.jmh.runner.Runner.run(Runner.java:209) at com.github.fabienrenaud.jjb.Cli$AbstractCommand.run(Cli.java:110) at com.github.fabienrenaud.jjb.Cli.main(Cli.java:40)
- 如果我使用命令 ./run deser --apis stream --libs jackson,genson 从命令行运行它,我得到:
Exception in thread "main" io.airlift.airline.ParseArgumentsUnexpectedException: Found >unexpected parameters: [genson] at io.airlift.airline.Cli.validate(Cli.java:194) at io.airlift.airline.Cli.parse(Cli.java:132) at io.airlift.airline.Cli.parse(Cli.java:108) at io.airlift.airline.Cli.parse(Cli.java:103) at com.github.fabienrenaud.jjb.Cli.main(Cli.java:40)
根据原始存储库中的自述文件,这两种用法都是正确的。我怀疑是配置问题造成了这两个问题。我该如何修复它?
最佳答案
我认为第一种情况的问题是在使用 Eclipse 构建时关闭了注释处理。之前我在IDEA上遇到过这个问题,解决方案是启用注释处理。然后 IDEA 选择 JMH 的注释处理器,声明为
annotationProcessor group: 'org.openjdk.jmh', name: 'jmh-generator-annprocess', version: "${jmhVersion}"
在您的build.gradle
中并生成丢失的文件。
关于java - 找不到资源:/META-INF/BenchmarkList in Gradle project on Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70097491/