当前位置: 首页 > 知识库问答 >
问题:

IntelliJ:错误:Java:目标级别“1.5”与源级别“1.8”不兼容

闾丘谦
2023-03-14

更新:见自我回答。问题似乎与Maven导入有关,或者导入后模块设置的某种损坏有关。

我有一个非常大的多模块Maven IntelliJ项目,有3个独立的根。

我正在建设整个项目准备promise。

我从IntelliJ 2017.2.3 Ultimate得到以下错误:

Information:Eclipse compiler 4.6.2 was used to compile java sources
...
Error:java: Target level '1.5' is incompatible with source level '1.8'. A target level '1.8' or better is required

所有的代码都不能用Java5编译,都是Java8。

  • 这是什么原因造成的?这是Intellij的已知bug吗?
  • 如何找出项目中大约100个模块中哪个模块是导致问题的?

共有1个答案

马清野
2023-03-14

我在项目中的几个maven模块中得到了这个信息,我可以通过更新这些模块下的.iml文件来解决这个问题,方法是将下面的条目更改为1.8-

 <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" /
 类似资料:
  • 如果使用的目标级别低于源级别,Java编译器是否工作良好?例如:

  • 注意:这不是重复的。这个版本的spark需要jdk 1.7或1.8。父pom。xml条目如下所示: 如截图所示,我们有SDK和语言级别的java 1.8: 以下是模块设置: 但是Intellij只是对此感到困惑: 错误:(73,51)java:源代码1.5中不支持菱形运算符(使用源代码7或更高版本启用菱形运算符) 这是一个spark项目,由maven在OS/X上构建。Intellij Ultima

  • 像其它应用程序一样,由 NSIS 生成的安装程序执行时,会返回错误级别。如果你要用其它应用程序或安装程序调用一个 NSIS 安装程序,那么检查错误级别就会很有用。 0 - 正常执行 (没有错误) 1 - 安装被用户终止 (取消按钮) 2 - 安装由脚本终止 从 NSIS 2.01 以后,你可以使用 SetErrorLevel 自行设置错误级别。 需要注意的是卸载程序会把它本身复制到临时文件夹并从那

  • 我有一个分级项目。sourceCompatibility和targetCompatibility设置为15。Gradle JDK设置为Java15,而project setting java设置为JDK15和language level 13。但当我重新导入项目或更改任何Steegins时。Java版本和语言级别被重置为JDK11和级别6。我试着删除gradle和。gradle和Reporting

  • 问题内容: 我想知道是否有人在IDEA的项目属性中有线索如何处理此pom: 我应该设置项目级别1.3和模块级别1.5还是明智的做法? 同样,在任何时候IDEA重新加载maven项目时,它都会设置它认为从maven到1.3的语言级别,并且总是抱怨测试类。 但这将作为错误报告发送给JetBrains。 问题答案: 此请求跟踪支持的测试源/目标级别。语言级别更改的消息也是一个已知问题。

  • 问题内容: 我有一个为jdk 7构建的项目,但我也想扩展其对jdk 6用户的兼容性。我已经将编译器的编译级别设置为1.6,但是该项目正常编译,并且由于方法revalidate直到Java 7才添加到Java中,因此该项目无法在1.6 jre上运行。(并且编译器未发出任何警告关于这一切!)如何将源代码级别也设置为1.6?我可以在netbeans中做到这一点,在eclipse中如何做到这一点呢? 问题