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

Intellij坚持使用javac 11.0.3而不是Java7进行编译

戈安翔
2023-03-14
Information:javac 11.0.3 was used to compile java sources
Warning:(86, 25) java: as of release 9, '_' is a keyword, and may not be used as an identifier

Error:(86, 25) java: cannot find symbol
  symbol:   class _
  location: class com.(...)`
  • 项目结构->项目->项目SDK:1.7
  • 项目结构->项目语言级别->7-方块、ARM、多重捕获等
  • 在Project Structure->Modules下检查了每个模块,这并不有趣,因为大约有50个模块。来源选项卡->语言级别:项目detaulf(7-Diamonds、ARM、multi-catch等)
  • 项目结构->模块,每个依赖项选项卡->模块SDK:Project SDK(1.7)
  • project structure->sdks:它列出了idea是在Java 11中构建的,所以我删除了它,只留下:1.7
  • 设置->Java编译器->使用编译器:javac
  • 设置->Java编译器->尽可能使用来自模块目标JDK的编译器:未勾选
  • 设置->Java编译器->每模块字节码版本:所有模块设置为1.7

我正在运行IntelliJ IDEA的最新版本:

IntelliJ IDEA 2019.2 (Ultimate Edition) Build #IU-192.5728.98, built on July 23, 2019

这是个有想法的虫子吗?

共有1个答案

唐裕
2023-03-14

Intellij选择Java11的原因如下:https://www.jetbrains.com/help/idea/configuring-build-jdk.html

IntelliJ IDEA检查项目中使用的所有JDK:在项目和模块级别上定义的JDK。

IntelliJ IDEA计算这些JDK中的最新版本。这对于确保可以编译所有模块是必要的。

 类似资料:
  • 我有Java8SDK和运行时,以及一个只使用Java7个功能的项目。我想知道我是否可以设置intellij来构建一个Java-7级的jar,从命令行肯定可以做到这一点? 到目前为止,我已经尝试过简单地将项目语言级别设置为7作为实验,但这显然是不够的,也不是我真正需要的。 我在SO上也看到过这个问题:"Intellij IDEA使用java7编译器编译,当我已经将其配置为使用Java6",但我的项目

  • 在我的 maven 项目中,我目前正在将我的 Java 代码与一些 Groovy 代码混合在一起。在这一点上,我主要使用Groovy来构建豆子。我的一些Java代码直接使用Groovy豆。 我这样配置Maven编译器插件:- 当我使用运行我的测试用例时,它工作得很好。 然而,当我通过右键单击测试文件直接从IntelliJ运行测试用例并运行它时,Groovy bean上会出现“找不到符号”错误。当我

  • 问题内容: 在SQL(MSSQL,Oracle等)中,在联接表时,向JOIN语句添加过滤器而不是在WHERE子句中添加过滤器有什么好处? IE 相对 我意识到这并非在所有情况下都有效,但是我注意到在某些情况下,通过将过滤器条件放在JOIN语句中似乎可以提高性能。但是,由于它是JOIN语句的一部分,因此也会使它的行为有些奇怪。 有什么想法吗? 问题答案: 对于查询,这些过滤器的性能特征将取决于许多因

  • 从: 在obj必须可用的指令范围的末尾而不是开始处编写此方法。 为什么它会有如此不直观的行为?

  • 问题内容: 我有一个使用序列化列的模型: 有没有办法使此序列化使用JSON而不是YAML? 问题答案: 在Rails 3.1中,您可以 希望能有所帮助

  • 问题内容: 我有一个包含一些User对象的列表,我正在尝试对列表进行排序,但是只能使用方法引用来工作,对于lambda表达式,编译器会给出错误: 错误: 问题答案: 这是编译器的类型推断机制的一个弱点。为了推断ulambda的类型,需要建立lambda的目标类型。这是如下完成的。期待类型为的参数。在第一行中,需要返回。这意味着需要一个带参数的a 。因此,在第一行的中,必须为并且一切正常。 在第二行