Я получаю сообщение об ошибке в Eclipse при попытке простого примера с пакетом JCommander. Ошибка говорит:validateWith не определено для типа аннотации Параметр (JCommander)
Атрибут validateWith не определено для типа аннотаций Параметр
и код, я использую следующий:
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import com.beust.jcommander.*;
import com.beust.jcommander.validators.PositiveInteger;
public class JCommanderExample {
@Parameter(names = { "-sp", "-semAndPrec"}, validateWith = CorrectPathValidator.class)
private Path semAndPrec;
}
Конечно, я предоставили класс CorrectPathValidator, как описано в документации по адресу http://jcommander.org/#Parameter_validation.
Вот класс:
import java.nio.file.Paths;
import com.beust.jcommander.IParameterValidator;
import com.beust.jcommander.ParameterException;
public class CorrectPathValidator implements IParameterValidator {
public void validate(String name, String value) throws ParameterException {
try {
Paths.get(value);
} catch (Exception e) {
String error = "Parameter " + name + " should be a path (found "
+ value + ")";
throw new ParameterException(error);
}
}
}
Видимо я что-то не хватает, но пример на http://jcommander.org/#Parameter_validation, кажется, идентичен тому, что я пробовал:
@Parameter(names = "-age", validateWith = PositiveInteger.class)
private Integer age;
Может кто-то пожалуйста, скажите мне, почему Я получаю ошибку?
действительно ли кто-нибудь может помочь мне решить это? – Alby