【发布时间】:2017-04-02 11:44:49
【问题描述】:
在尝试运行测试时,我遇到了这个编译错误:
我尝试在 Google 和此处对此进行研究,但在应用了对其他人有效的所有解决方案后,此问题仍然存在。 这是我到目前为止所做的:
- 首选项 -> Java 编译器:将“项目字节码版本”设置为 1.8
- 我还将每个单独模块的目标字节码版本设置为 1.8
- 首选项 -> 构建、执行、部署 -> 构建工具 -> Maven -> Runner:将 JRE 设置为使用 Project JDK(正确显示为 1.8)
- 项目结构 -> 项目:将项目 SDK 设置为 1.8,语言级别设置为 8
- 项目结构 -> 模块 -> 来源:将每个模块的语言级别设置为 8
- 项目结构 -> 模块 -> 依赖项:将模块 SDK 设置为 1.8
我认为这个问题可能与 JDK 和编译器之间的差异有关。
当我从终端运行 java -version 时,它返回 1.8.0_111。但是,当我运行 javac -version 时,它返回 1.7.0_79。我寻找强制更改 javac 版本以匹配 java 版本的方法,但几乎所有这些方法都引用 update-alternatives 这对于 Mac OS 不可用或删除 /usr/bin 这是不允许的(即使使用 sudo)在 El Capitan 上。
解决方法编辑:
我可以通过转到 Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler 并将编译器从“javac”更改为“Eclipse”来绕过该问题,并且我能够编译我的项目。
【问题讨论】:
-
您是如何在 Mac 上安装 Java 的?
-
我直接从 Oracle (oracle.com/technetwork/java/javase/downloads/…) 下载了 Java SDK 8u111。
-
为了安全起见,您尝试再次重新安装,然后重新启动?你的路径和环境变量搞砸了,好像
-
我尝试删除所有 java 版本,然后重新安装 1.8.0_111,然后重新启动。它仍然出现同样的错误,并且 javac 仍然是 1.7,即使 1.7 应该已经消失了。
-
您应该在下面提供您的“解决方法”作为答案。尽管如此,我认为这是正确的解决方案,根本不是解决方法(不知道为什么它说“Eclipse”)
标签: java macos maven intellij-idea