当使用IntelliJ IDEA运行JUnit测试时,我得到
我该如何纠正呢?
使用SDK 1.7 模块语言级别为1.7
Maven构建工作正常。(这就是为什么我在IDEA配置问题上相信这一点)
当使用IntelliJ IDEA运行JUnit测试时,我得到
我该如何纠正呢?
使用SDK 1.7 模块语言级别为1.7
Maven构建工作正常。(这就是为什么我在IDEA配置问题上相信这一点)
当前回答
我遇到了这个问题,解决办法是去项目设置>模块>单击特定模块>依赖项选项卡。我注意到模块SDK仍然设置在1.6,我将其更改为1.7,它工作了。
其他回答
很可能你从Maven导入了错误的编译器选项:
还要检查截图中列出的项目和模块字节码(目标)版本设置。
其他配置源语言级别的地方:
项目结构|项目
|模块(检查每个模块)|来源
Maven默认的语言级别是1.5(5.0),你会在上面的屏幕截图中看到这个版本为Module语言级别。
这可以在pom.xml中使用maven-compiler-plugin配置来更改:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
or
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
在Maven项目工具窗口中重新导入Maven项目后,IntelliJ IDEA将尊重此设置:
如果Maven构建工作正常,请尝试同步Maven和IntelliJ IDEA项目的结构。
在Maven工具窗口中,单击刷新按钮。按下这个按钮,IntelliJ IDEA将在Maven工具窗口中解析项目结构。
注意,如果您正在使用EAP构建,这可能没有帮助,因为Maven同步特性有时可能会被破坏。
从IntelliJ IDEA 14升级到v14.1后,我就遇到了这个问题。 对我来说,更改top/parent pom的编辑有帮助,然后单击重新导入Maven(如果它不是自动的)。
但它可能只够右键单击模块(s)/聚合/父模块和Maven ->重新导入。
我找到了另一种遇到这种错误的方法。如果您一直在重新组织目录结构,并且其中一个poms指向不再配置javac的旧父目录(因为该配置已移动到中间层),就会出现这种情况。如果发生这种情况,顶层默认为1.5,行为不端的底层pom继承它。
因此,当您看到这个错误时,要检查的另一件事是您的pom结构是否与目录结构正确匹配。
您查看过您的构建配置了吗?如果您使用maven 3和JDK 7,它应该是这样的
<build>
<finalName>SpringApp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
...
</build>