java eclipse maven jmh

java - JMH No se puede encontrar el recurso:/META-INF/BenchmarkList



eclipse maven (3)

Finalmente lo descubrió. Hubo un problema con la falta exec-maven-plugin 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>

No puedo ejecutar una prueba de JMH simple dentro de eclipse. Dependencias de 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>

Código de 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(); } }

Resultado de la ejecución:

Excepción en el subproceso "main" java.lang.RuntimeException: ERROR: No se puede encontrar el recurso: / META-INF / BenchmarkList en org.openjdk.jmh.runner.AbstractResourceReader.getReaders (AbstractResourceReader.java:96) en org.openjjkk. jmh.runner.BenchmarkList.find (BenchmarkList.java:104) en org.openjdk.jmh.runner.Runner.internalRun (Runner.java:256) en org.openjdk.jmh.runner.Runner.run (Runner.java) 206) en com.test.BTest.main (BTest.java:24)

Tal vez el problema es que lo estoy ejecutando desde eclipse.

Gracias por cualquier ayuda.


Habiendo tenido el mismo error; y ejecutar las pruebas de maven o intellij no funcionó. Me di cuenta de que el problema era que escribí el punto de referencia en Kotlin. Cambiar el código a java solucionó el problema.


Me di cuenta de que ya tenía exec-maven-plugin en mi pom principal como se mencionó en la respuesta esperada, pero tuve que ejecutar mvn clean install como se menciona en https://.com/a/40748670 para corregir el error