Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当Maven构建得很好时,Eclipse会显示一个错误_Java_Eclipse_Maven - Fatal编程技术网

Java 当Maven构建得很好时,Eclipse会显示一个错误

Java 当Maven构建得很好时,Eclipse会显示一个错误,java,eclipse,maven,Java,Eclipse,Maven,我正在玩一些新的Java8流特性。但是我对下面的示例代码有一个奇怪的问题 import java.util.ArrayList; import java.util.function.IntFunction; public class TwoDArrayTest { public static void main(String[] args) { ArrayList<ArrayList<String>> matrix = new ArrayLis

我正在玩一些新的Java8流特性。但是我对下面的示例代码有一个奇怪的问题

import java.util.ArrayList;
import java.util.function.IntFunction;

public class TwoDArrayTest {

    public static void main(String[] args) {
        ArrayList<ArrayList<String>> matrix = new ArrayList<ArrayList<String>>();
        ArrayList<String> row1 = new ArrayList<String>(2);
        row1.add("11");
        row1.add("12");
        ArrayList<String> row2 = new ArrayList<String>(2);
        row2.add("21");
        row2.add("22");
        matrix.add(row1);
        matrix.add(row2);
        String[][] array = toArray(matrix, String[]::new, String[][]::new);
        for (String[] row : array) {
            for (String s : row) {
                System.out.print(s + " ");
            }
            System.out.print("\n");
        }
    }

    public static String[][] toArray(ArrayList<ArrayList<String>> matrix,
            IntFunction<String[]> arrayCreator, IntFunction<String[][]> doubleCreator) {
        String[][] array = matrix.stream()
                .map(row -> row.stream().toArray(arrayCreator))
                .toArray(doubleCreator);
        return array;
    }
}
奇怪的是,我甚至可以在使用maven构建的eclipse中运行应用程序。该代码是我作为maven项目导入Eclipse的项目的一部分。我已经尝试确保Eclipse和命令行maven使用相同版本的java和maven,但问题仍然存在。我正在使用EclipseOxygen、maven 3.5.0和Java1.8.0121


有什么想法会出错吗?

提示:转到项目属性=>java编译器=>检查是否使用了java1.8通常Eclipse使用JDT编译器,而不是Javac。这或许可以解释为什么会这样difference@TuyenNguyen1.8正在使用提示:转到项目属性=>java编译器=>检查java1.8是否正在使用通常Eclipse使用JDT编译器,而不是Javac。这或许可以解释为什么会这样difference@TuyenNguyen1.8正在使用中
The method toArray(IntFunction<A[]>) in the type Stream<String[]> is not
applicable for the arguments (IntFunction<String[][]>)