运行JUnit测试时,使用IntelliJ IDEA,我得到了
我该如何纠正?
Maven构建工作正常。 (这就是我在IDEA配置问题中相信这一点的原因)
答案 0 :(得分:626)
您很可能在这里从Maven导入了错误的编译器选项:
还要检查屏幕截图中列出的项目和模块字节码(目标)版本设置。
配置源语言级别的其他位置:
Maven 默认语言级别 1.5 (5.0),您将在上面的屏幕截图中看到此版本为模块语言级别。
可以使用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>
或
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
在Maven Projects工具窗口重新导入 Maven项目后,IntelliJ IDEA将尊重此设置:
答案 1 :(得分:356)
类似于下面针对IntelliJ 13&amp; 14,但在“设置/首选项”面板中有一个额外的级别:设置&gt; 构建,执行,部署&gt; 编译器&gt; Java编译器。
在IntelliJ 13和14中,检查设置&gt;编译器&gt; Java Compiler 用户界面,确保您不会在模块中定位不同的字节码版本。
答案 2 :(得分:61)
在 IntelliJ IDEA 14.1 中,&#34;目标字节码版本&#34;在另一个地方。
以下更改对我有用:
档案&gt;设置...&gt;构建,执行,部署&gt;编译器&gt; Java编译器:将目标字节码版本从1.5更改为1.8
答案 3 :(得分:41)
如果你使用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>
答案 4 :(得分:22)
我遇到了这个,修复是去项目设置&gt;模块&gt;点击特定模块&gt;依赖选项卡。我注意到模块SDK仍然设置为1.6,我将其更改为1.7并且它有效。
答案 5 :(得分:13)
我在设置&gt;中找到了必需的选项('目标字节码版本')编译器&gt;在我的例子中的java编译器(intelij idea 12.1.3)
答案 6 :(得分:9)
在以下路径中修改项目的编译器设置文件,并将“target”更改为1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
答案 7 :(得分:5)
我通过将字段设置为空白来解决它:
设置&gt;编译器&gt; Java编译器&gt;项目字节码版本
比IntelliJ使用JDK默认版本。
答案 8 :(得分:4)
我从IntelliJ IDEA 14到v14.1进行了一次小幅升级后才发现这个问题。 对于我来说,更改了top / parent pom的编辑帮助,然后单击重新导入Maven(如果它不是自动的)。
但它可能足以右键单击模块/聚合/父模块和Maven - &gt;重新导入。
答案 9 :(得分:4)
从一个时刻到另一个时刻,我也没有明确的理由得到了这个错误。我在编译器/模块等上更改了各种设置。但最后我通过重新导入Maven项目重新创建了IntelliJ项目,问题解决了。我认为这是一个错误。
IntelliJ 12 129.961
答案 10 :(得分:2)
我解决了波纹管方法
档案&gt;&gt;项目结构&gt;&gt;项目&gt;&gt;项目语言水平 - &GT;设置正确的版本(例如:1.5)
答案 11 :(得分:1)
检查 .idea / misc.xml 有时您需要手动更改languageLevel =“JDK_1_X”属性
答案 12 :(得分:1)
如果是Gradle项目,请在build.gradle文件中搜索以下设置:
import os
import re
path = '/home/ajay/Desktop/practice/ajay.txt'
os.system('ifconfig>>path')
fd = open(path,'r+')
interfaces = []
tx_packets = []
for line in fd:
if(re.search(r'(\w+)\s+\Link',line)):
inter = re.match(r'(\w+)\s+\Link',line)
interface = inter.group(1)
interfaces.append(interface)
for lines in fd:
if(re.search(r'\s+TX packets:(\d+)',lines)):
tx_packs = re.match(r'\s+TX packets:(\d+)',lines)
tx_pack = tx_packs.group(1)
tx_packets.append(tx_pack)
print interfaces
print tx_packets
对于所有子目录,在root build.gradle文件中,您可以输入:
sourceCompatibility = "xx"
targetCompatibility = "xx"
虽然您可以在Idea&gt;中手动设置语言级别。设置,如果是Gradle项目,Idea会自动同步Gradle设置中的模块.iml文件(使用Idea 15+进行测试)。因此,刷新gradle时,所有手动更改都会被覆盖。
基于Gradle documentation,如果未设置,则使用当前的JVM配置。
答案 13 :(得分:1)
我找到了另一种遇到此错误的方法。如果你一直在重新组织你的目录结构,你可以得到这个,并且你的一个poms指向不再配置javac的旧父级(因为该配置被移动到中间级别)。如果发生这种情况,最高级别默认为1.5,行为不当的低级别pom继承它。
当你看到这个错误时,检查的另一件事是你的pom结构正确匹配你的目录结构。
答案 14 :(得分:1)
如果Maven构建工作正常,请尝试同步Maven和IntelliJ IDEA项目的结构。
在Maven tool window中,点击刷新按钮。按下此按钮,IntelliJ IDEA将在Maven工具窗口中解析项目结构。
请注意,如果您正在使用EAP版本,这可能会有所帮助,因为Maven同步功能有时可能会被破坏。
答案 15 :(得分:0)
确保选择了正确的依赖关系。 文件&gt;项目结构
选择您的项目并导航到“依赖关系”选项卡。从下拉列表中选择正确的依赖性或创建新的。
答案 16 :(得分:0)
如果之前的所有解决方案都不适合您(这是我的情况),您可以删除intellij配置文件:
Intellij稍后会重新生成新的。 但是,小心,这也将删除在projet上进行的所有intellij配置(即:调试模式的配置,......)
答案 17 :(得分:0)