Суппорт @Param не работает
Я пытаюсь использовать @Param
аннотация на поле с аргументами командной строки вида: -Dmyparamname=val1,val2,val3", и это не работает. Я использую Caliper-0.5-rc1.jar. Мое фактическое использование выглядит так:
java -classpath "mylongclasspath" MyBenchmarkClass -Jjit=-client,-server -Dprovider=CGLIB,JAVASSIST,JAVAPROXY
Мой класс тестов имеет следующее:
public class MyBenchmarkClass extends SimpleBenchmark {
@Param
private String provider;
...
}
Но когда я запускаю, я получаю только опции для jit, но не для -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
и т.д., в конечном итоге повторяя все тесты с помощью "jit=-client"
Я бы ожидал увидеть:
0% Scenario{vm=java, trial=0, benchmark=M1, jit=-server provider=CGLIB} ...etc.
Я перепробовал все виды опций: включая кавычки вокруг значений в команде arg, предоставляя их как статическое поле типа List внутри, и т. Д. Никогда не было никаких признаков того, что он пытается перебрать предоставленные значения "provider".
Есть мысли о том, что я делаю не так?
1 ответ
Похоже, проблема в сборке 0.5-rc1 (единственное в Maven Central). Я сделал предварительную сборку 1.0 из другого проекта (я не хотел загружать весь проект и Maven и собирать его).