2016-06-27 17 views
10

Ich kann keinen einfachen JMH-Benchmark in Eclipse ausführen. Maven Abhängigkeiten:JMH Die Ressource kann nicht gefunden werden:/META-INF/BenchmarkList

 <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-Code:

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(); 
    } 
} 

Ergebnis des Laufes:

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:96) at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:104) at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:256) at org.openjdk.jmh.runner.Runner.run(Runner.java:206) at com.test.BTest.main(BTest.java:24)

Vielleicht ist das Problem, dass ich es von Eclipse renne.

Danke für jede Hilfe.

+0

Haben Sie nicht versucht, es in Eclipse läuft? Da du es schon erwähnt hast, wäre es sinnvoll es auszuprobieren –

+0

@WillBarnwell noch nicht ... – riva

Antwort

5

Endlich herausgefunden. Es gab ein Problem mit fehlenden 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> 
Verwandte Themen