【问题标题】:IntelliJ 13.1.6 JDK 8 supportIntelliJ 13.1.6 JDK 8 支持
【发布时间】:2014-11-14 22:48:45
【问题描述】:

我创建了一个将Project SDK 设置为1.8 (1.8.0_25) 的项目。问题是即使System 也无法解决,如果我将Project SDK 切换到1.7 (1.7.0_71),一切正常。如何解决这个问题?

【问题讨论】:

  • 您是否尝试使缓存无效并重新启动?
  • @ponomandr 怎么做?
  • Main menu > File > Invalidate caches
  • @ponomandr 试过 Invalidate caches,没用
  • 打开 File > Project Structure > SDKs 并检查 1.7 和 1.8 看起来是否相似。我的意思是 1.8 的类路径包含罐子。也尝试在此处删除 1.8 SDK 并从头开始添加。

标签: java intellij-idea java-8


【解决方案1】:

以下内容对我有用:

  1. 转到File | Project Structure

    • 从左侧窗格中选择Project。将Project language level 更改为8 - Lambdas, type annotations etc.
    • 从左侧窗格中选择Modules。在Sources 标签上,从Language level 下拉菜单中选择8 - Lambdas, type annotations etc.
  2. 转到File | Settings。在左侧窗格中,找到 Build, Execution, Deployment | Compiler | Java Compiler(或仅搜索“Java Compiler”)。在Per-module bytecode version 列表中您的模块名称旁边,从Target bytecode version 下拉列表中选择“1.8”。

  3. 重新启动 IntelliJ 并重新构建您的项目。

【讨论】:

  • 谢谢,这是模块下的设置 -> 我找不到的源
【解决方案2】:

让我们试试 Ctrl+Alt+Shift+S 然后将项目语言级别设置为8.0 lambdas etc . 然后去:Ctrl+Alt+S,去Compiler | Java Compiler和右边的列表Pre-module bytecode version设置为1.8版

编辑:

如果没有帮助,转到.idea/文件夹并打开compiler.xml,找到xml的这块:(或接近这个)

<bytecodeTargetLevel target="1.8">
      <module name="something" target="1.6" />
</bytecodeTargetLevel>

并将所有版本值设置为 1.8:

<bytecodeTargetLevel target="1.8">
      <module name="something" target="1.8" />
</bytecodeTargetLevel>

【讨论】:

    【解决方案3】:

    这对我有用:

    编辑文件:项目名称.iml

    这样改行:

    <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
    

    成为:

    <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 2017-03-22
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多