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