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.ДМ.бегун.AbstractResourceReader.getReaders (AbstractResourceReader.java: 96)
в орг.пакеты OpenJDK.ДМ.бегун.Бенчмарклист.найти (BenchmarkList.java: 104)
около орг..пакеты OpenJDK.ДМ.бегун.Бегун.internalRun (Бегун.java: 256) на
орг..пакеты OpenJDK.ДМ.бегун.Бегун.бег(Бегун.java: 206) на
ком.тест.Бест.main (BT.java: 24)
Возможно, проблема в том, что я запускаю его из eclipse.
Спасибо за любую помощь.
1 ответ:
Наконец-то выяснил это. Возникла проблема с отсутствующим плагином
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>
Comments