【问题标题】:IntelliJ Idea 12: Specify which javac when using External BuildIntelliJ Idea 12:使用External Build时指定哪个javac
【发布时间】:2013-02-21 01:22:35
【问题描述】:

我一直是 Eclipse 的长期用户,但在一些同事的建议下,我开始使用 IntelliJ IDEA 12,并且我喜欢它。虽然我在使用 External Build 选项时遇到了问题,也就是说,它似乎没有使用与我分配给模块的 SDK 相关的 javac,它只是使用了我的 PATH 上的任何内容。

至少这是我目前的假设;我的路径上的 javac 用于我的 JDK7 安装,但我处理一些需要与 JDK6 兼容的代码。如果我将 SDK 和语言级别分别设置为 1.6/6,它会尝试针对 Java 7 进行构建,我会收到 Invalid Source Release: 1.7 错误;即使我从可用的 SDK 中完全删除 1.7 的 SDK,也会发生这种情况。关闭外部构建解决了这个问题。

我想利用外部构建,因为它已经过时而且速度很快。这是 IDEA 12 中的错误还是我做错了什么?

如果相关的话,我正在使用社区版。

编辑:我使用的是 OS X,如果这很重要的话

【问题讨论】:

  • 请联系支持人员并提供您的.idea 目录和压缩项目中的.iml 文件。
  • @CrazyCoder 没有必要。我注意到每次重新启动 IDE 时,每个模块的语言级别设置都不会持续存在。我刚刚删除了首选项文件并重新设置了项目,现在设置仍然存在。一定是文件系统错误。

标签: macos ide intellij-idea javac


【解决方案1】:

确保在 File | 中将“项目字节码版本”设置为 1.6设置 |编译器 | Java 编译器。根据this 的评论,它在没有外部构建选项的情况下工作最可能是因为“IDEA 在调用编译器时强制将语言级别设置为 jdk 支持的最大级别”。

【讨论】:

  • 是的,这就是我在提到特定于模块的编译器设置时的意思。
  • 只是为了确定,您是否在文件 | 中将项目语言级别设置为 6.0项目结构 |项目菜单?在这种情况下应该设置它。
  • 是的,如上所述,我设置了编译器级别和语言级别。
  • 如果重要的话,我使用的是 OS X。忘记在原始问题中提及这一点。
  • similar bug 提交给问题跟踪器。您可以对其加注星标/投票以接收通知。我无法重现它,但我在 Win7 上并且有简单的项目格式。
猜你喜欢
  • 2016-01-05
  • 2017-11-01
  • 1970-01-01
  • 2013-09-25
  • 2013-09-04
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
相关资源
最近更新 更多