странная ошибка компиляции с maven 'фактические и формальные параметры различаются по длине' - PullRequest
0 голосов
/ 16 мая 2019

У меня есть класс с конструктором по умолчанию и параметризованным конструктором, как показано ниже,

public class Input {
    private String max;
    public Input() {

    }

    public Input(Input sourceInput) {
        this();
        this.max = sourceInput.getMax();
    }
    @XmlAttribute(name = "max")
    public String getMax() {
        return max;
    }

    public void setMax(String max) {
        this.max = max;
    }
}

Я создаю экземпляр Input, как показано ниже,

Input original = new Input();
original.setMax("20");
Input copy = new Input(original);

Этот код хорошо компилируется в затмении. Но когда я компилирую этот код, используя Maven, плагин Maven Compiler выдает ошибку ниже Input copy = new Input(original);

constructor Input in class Input cannot be applied to given types; required: no arguments found: ipm.calc.bridge.api.xsd.definition.Input reason: actual and formal argument lists differ in length

Подскажите, пожалуйста, что не так с этим кодом? Второй конструктор создается для получения копии того же объекта. У меня есть настройки Java 8 для затмения и Maven оба. (здесь Maven означает интегрированное затмение, которое я установил снаружи затмения)

1 Ответ

1 голос
/ 16 мая 2019
Input original = new Input();
original.setMin("10");
original.setMax("20");
Input copy = new Input(input);

Где находится вход в новый вход (вход). Вы должны передать оригинал вместо передачи входных данных конструктору. Это должно быть следующим образом

Input copy = new Input(original);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...