Normalerweise startet JMH ein weiteres VM, um die Benchmarks zu betreiben. Sie werden also mindestens 3 VMs gleichzeitig ausgeführt. Klasse direkt in den VM Maven läuft. Als ich jedoch versuchte, Maven so zu konfigurieren, dass JMH mit Exec: Java ausführt, stürzt der Benchmark wegen fehlender Klassen ab:
Code: Select all
# JMH 1.11.3 (released 40 days ago)
# VM version: Error: Could not find or load main class org.openjdk.jmh.runner.VersionMain
# VM invoker: C:\Program Files\Java\jdk1.7.0\jre\bin\java.exe
[...]
# Run progress: 0.00% complete, ETA 00:02:40
# Fork: 1 of 1
Error: Could not find or load main class org.openjdk.jmh.runner.ForkedMain
Code: Select all
org.codehaus.mojo
exec-maven-plugin
1.4.0
my.Benchmark
ausführe
Code: Select all
public static void main(String[] args) throws RunnerException {
Options options = new OptionsBuilder().include(my.Benchmark.class.getSimpleName())
.forks(1).build();
new Runner(options).run();
}