Maven编译错误:不兼容的列表

时间:2018-03-01 14:33:21

标签: java maven-3

我想对列表进行空检查并将其分配给最终的类属性:

private final ExcelDocument xls;
private final List<ValidationError> validationErrors;

public DefaultExaminationParser(ExcelDocument xls, List<ValidationError> validationErrors)
{
    this.xls = xls;
    this.validationErrors = validationErrors == null ? new ArrayList<>() : validationErrors;
}

导入为:import java.util.List;import java.util.ArrayList;

eclipse和maven中的编译器是Java 1.8

我的IDE(eclipse)没有显示此行的任何问题,但是当我运行maven构建时,它失败并出现以下错误:

  

DefaultExaminationParser.java:[84,51]错误:不兼容的类型:List<? extends Object>无法转换为List<ValidationError>

ValidationError定义为:

@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class ValidationError implements Serializable, DetailInfo {
    [...]
}

我在这里看不到任何错误。我也可以毫无问题地为这门课进行单元测试。

1 个答案:

答案 0 :(得分:0)

问题是,maven的编译器级别在几个父pom文件之一中设置为1.7。

使用以下代码段将其明确设置为1.8:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <encoding>utf8</encoding>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>
相关问题