设置了maven.compiler.source = 1.7,但是使用java8编译注解@FunctionalInterface并不报错

在 Maven 中,通过设置 maven.compiler.source 属性可以指定 Java 源代码的版本。然而,即使将 maven.compiler.source 设置为 1.7,使用 Java 8 编译器仍然可以成功编译 @FunctionalInterface 注解。

这是因为 @FunctionalInterface 注解是在 Java 8 引入的,并且兼容 Java 8 版本及更高版本的编译器。因此,即使使用 Java 8 编译器编译源代码时,即使你将 maven.compiler.source 设置为 1.7,编译器仍然可以正确处理和编译 @FunctionalInterface 注解。

需要注意的是,即使源代码版本低于 Java 8(如设置为 1.7),如果你使用了 Java 8 或更高版本引入的语言特性或功能,那么在编译时仍然需要使用与相应的语言特性兼容的编译器。

你可能感兴趣的:(maven,java)