JMH не удалось найти ресурс: / META-INF/BenchmarkList
Я не могу запустить простой тест JMH внутри eclipse. Зависимостей Maven:
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.12</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.12</version>
</dependency>
Java-кода:
public class BTest {
@Benchmark
public void test() {
// todo
}
public static void main(String[] args) throws RunnerException {
Options opt = new OptionsBuilder()
.include(BTest.class.getSimpleName())
.build();
new Runner(opt).run();
}
}
результат выполнения:
исключение в потоке" main " java.ленг.RuntimeException: ошибка: невозможно чтобы найти ресурс: / META-INF/BenchmarkList на орг.пакеты OpenJDK.jmh.бегун.AbstractResourceReader.getReaders (AbstractResourceReader.Ява:96) на орг.пакеты OpenJDK.jmh.бегун.BenchmarkList.найти(BenchmarkList.java: 104) в орг.пакеты OpenJDK.jmh.бегун.Бегун.internalRun (Бегун.java: 256) at орг.пакеты OpenJDK.jmh.бегун.Бегун.беги (Бегун.java: 206) at com.тест.BTest.main(BTest.java: 24)
возможно, проблема в том, что я запускаю его из eclipse.
Спасибо за любую помощь.
1 ответов
наконец-то узнал.
Была проблема с missing exec-maven-plugin
плагин
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>run-benchmarks</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<classpathScope>test</classpathScope>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>org.openjdk.jmh.Main</argument>
<argument>.*</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>