当使用IntelliJ IDEA运行JUnit测试时,我得到
我该如何纠正呢?
使用SDK 1.7 模块语言级别为1.7
Maven构建工作正常。(这就是为什么我在IDEA配置问题上相信这一点)
当使用IntelliJ IDEA运行JUnit测试时,我得到
我该如何纠正呢?
使用SDK 1.7 模块语言级别为1.7
Maven构建工作正常。(这就是为什么我在IDEA配置问题上相信这一点)
当前回答
我找到了另一种遇到这种错误的方法。如果您一直在重新组织目录结构,并且其中一个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>
如果它是一个Gradle项目,在你的构建中。Gradle文件,搜索以下设置:
sourceCompatibility = "xx"
targetCompatibility = "xx"
对于根构建中的所有子项目。Gradle文件,你可以放:
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
虽然你可以在Idea >设置中手动设置语言级别,但如果它是一个Gradle项目,Idea会自动从Gradle设置中同步模块。iml文件(用Idea 15+测试)。因此,当gradle刷新时,所有手动更改都会被覆盖。
根据Gradle文档,如果没有设置这些,则使用当前的JVM配置。
确保选择了正确的依赖关系。 文件>项目结构
选择您的项目并导航到Dependencies选项卡。从下拉菜单中选择正确的依赖项或创建新的依赖项。
如果Maven构建工作正常,请尝试同步Maven和IntelliJ IDEA项目的结构。
在Maven工具窗口中,单击刷新按钮。按下这个按钮,IntelliJ IDEA将在Maven工具窗口中解析项目结构。
注意,如果您正在使用EAP构建,这可能没有帮助,因为Maven同步特性有时可能会被破坏。
我通过将字段设置为空白来解决这个问题:
设置> Compiler > Java Compiler >项目字节码版本
Than IntelliJ使用JDK默认版本。