【发布时间】:2017-04-20 07:19:57
【问题描述】:
在我的项目中,我们将为maven-compiler-plugin 使用Java 7,并且我们假设在Maven 编译之后,所有使用Java 8 的代码都不应编译成功。
但是,就我而言,有一个使用 Arrays.stream(T[] array) 的文件可以从 Java 8 中使用,并且它仍然可以成功编译。下面是一些配置 Java 版本的pom.xml 文件。请您看看并告诉我为什么我的文件仍然可以成功编译,尽管我将它配置为 Java 7?
对于pom.xml,我跳过依赖等,只列出属性和构建。
<properties>
<java.version>1.7</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
对于我使用 Java 8 中的方法的文件,该行是这样的:
buffer.append(Arrays.stream(arg).collect(Collectors.joining("/")));
而我想要的是,由于我在 Maven 中将 Java 版本配置为 7,并且在编译后,使用 Java 8 的文件不应成功编译并显示诸如“...”之类的错误仅在源代码级别允许1.8以上”。
【问题讨论】:
标签: java eclipse maven maven-compiler-plugin