好吧,我很确定我错过了这里的一个基本点,但我很难过。我与maven玩弄主要和测试来源在不同层次编译(1.7 & 1.8) - 发现了很多帖子,但还没有得到它的工作,所以回到基础空白项目。所以首先,我想通过让maven 而不是通过将maven-compiler-plugin设置为源级别1.7并使用1.8代码(流)来编译我的代码。maven忽略pom.xml中的sourcelevel
这是我测试代码:
public static void main(String[] args) {
new ArrayList<>().stream();
}
这是我的pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
的IntelliJ是不是有任何的它和抱怨源级别预计直到我改变它。现在,那为什么运行在命令行行家......当
$ mvn compile
或
$ mvn install
Maven将不抱怨吗?
Maven版本3.5.0
Java版本1.8.0_131
尝试在运行Maven时使用-X选项来查看如何调用javac。它可能会提供有关正在发生的事情的提示。 – ssc327
它实际上打印源= 1.7和目标= 1.7。只是为了确保我添加了一些代码,无论源代码级别如何,都不会编译代码,这确实会导致代码失败。当然是 – enp4yne