2012-04-14 5 views
0

Ich versuche, die @Param Annotation auf einem Feld mit den Befehlszeilenargumente des Formulars zu verwenden: "-Dmyparamname = val1, val2, val3" und es funktioniert nicht. Ich benutze Caliper-0.5-rc1.jar. Meine tatsächliche Nutzung wie folgt aussieht:Caliper @Param funktioniert nicht

java -classpath "mylongclasspath" MyBenchmarkClass -Jjit=-client,-server -Dprovider=CGLIB,JAVASSIST,JAVAPROXY 

Meine Benchmark-Klasse hat die folgenden:

public class MyBenchmarkClass extends SimpleBenchmark { 
    @Param 
    private String provider; 

    ... 
} 

Aber wenn ich laufe ich nur Optionen für die jit bekommen, aber nicht für die -Dprovider:

0% Scenario{vm=java, trial=0, benchmark=M1, jit=-server} 30.40 ns; ?=0.13 ns @ 3 trials 
17% Scenario{vm=java, trial=0, benchmark=M2, jit=-server} 31.42 ns; ?=0.08 ns @ 3 

usw., wiederholen schließlich alle Benchmarks mit "JIT = -client"

ich erwartet hätte zu s ee:

0% Scenario{vm=java, trial=0, benchmark=M1, jit=-server provider=CGLIB} ...etc. 

Ich habe alle möglichen Optionen ausprobiert: einschließlich Anführungszeichen um die Werte in den Befehl arg, sie als statisches Feld des Typs Liste intern bereitstellt, etc. Es gibt nie einen Hinweis darauf, dass es versucht, Iteriere über die angegebenen Werte von "Provider".

Irgendwelche Gedanken darüber, was ich falsch mache?

Antwort

0

Es sieht aus wie die 0,5-rc1-Build (das einzige Ding in Maven Central) ist das Problem. Ich habe eine vorläufige Version 1.0 von einem anderen Projekt kopiert (ich wollte das ganze Projekt und Maven nicht herunterladen und es bauen).