Суппорт @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 и собирать его).

Другие вопросы по тегам