Maven 'actual and formal parameters differ in length'出现奇怪的编译错误



我有一个带有默认构造函数和参数化构造函数的类,如下,

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 original = new Input();
original.setMax("20");
Input copy = new Input(original);

此代码在Eclipse中很好地编译。但是,当我使用Maven编译此代码时,Maven编译器插件给我以下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

您能告诉我此代码怎么了?创建第二个构造函数以获取同一对象的副本。我已经为Eclipse和Maven配置Java 8。(在这里maven表示不是Eclipse Intectated我已经安装了Eclipse外(

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

新输入(输入(中的输入在哪里。您应该传递原始而不是将输入传递给构造函数。它应如下

Input copy = new Input(original);

最新更新