如何使IntellijIDEA与Java12一起工作

如何使IntellijIDEA与Java12一起工作,java,intellij-idea,sdk,Java,Intellij Idea,Sdk,我已经有一段时间没有使用Java了,今天我想重新开始使用它。因此,我将我的IDE(IntellijIDEA)更新为1,并下载了。然后我继续卸载我的旧Java 8(并且我从我的Windows 10 PC上删除了带有Java 8 SDK的文件夹) 然后我打开IntellijIDEA,文件->项目结构…->Project->Edit(projectsdk)在那里,我选择了刚刚安装java12的文件夹(C:\programfiles\Java\jdk-12.0.1)。在编辑SDK的同一窗口中,我将项目语

我已经有一段时间没有使用Java了,今天我想重新开始使用它。因此,我将我的IDE(IntellijIDEA)更新为1,并下载了。然后我继续卸载我的旧Java 8(并且我从我的Windows 10 PC上删除了带有Java 8 SDK的文件夹)

然后我打开IntellijIDEA,
文件->项目结构…->Project->Edit(projectsdk)
在那里,我选择了刚刚安装java12的文件夹(
C:\programfiles\Java\jdk-12.0.1
)。在编辑SDK的同一窗口中,我将
项目语言级别设置为
12-没有新的语言功能

然后我转到
文件->项目结构->模块->依赖项
,检查
模块SDK
是否切换到
12-没有新的语言功能
。确实如此

我单击了
Apply
,然后单击了
OK

然后我去了
文件->设置…->构建、执行、部署->编译器->Java编译器,我将
项目字节码版本设置为
12

我单击了
Apply
,然后单击了
OK

我关闭了IntellijIDEA并关闭了我的电脑。然后我重新打开电脑,重新打开IntellijIDEA,我键入
var
,IntellijIDEA告诉我:
无法解析符号“var”

通过在谷歌上搜索,我发现很多人都有我的问题,但没有一个人真正解决了我的问题。这里有一些关于堆栈溢出的问题,我已经读过了:


1 IntelliJ IDEA 2019.1.3(社区版) 建造#IC-191.7479.19,建造于2019年5月28日 JRE:1.8.0_202-release-1483-b58 amd64 JVM:JetBrains s.r.o提供的OpenJDK 64位服务器虚拟机
Windows 10 10.0

如果您拥有的IntelliJ版本支持它,请在语言级别设置中启用它

好的,问题是我很懒,依我之见,IntellijIDEA显示的错误消息不是很准确

我试图构建该项目,但在日志中我得到了一条不同的错误消息:
Java'var'在这里是不允许的。

当然,
var
不允许推断类字段的类型,但是当我在方法中尝试时,一切都很好

我的错是,我想很快检查是否发生了到Java12的切换,我不认为我不能在那个地方使用这个构造。顺便说一句,IntellijIDEA应该立即告诉我问题的“准确”原因


我应该更加小心,多亏了@TituBG,@JacobG。还有@VinceEmigh感谢他们的时间

您是否尝试过使缓存无效?我希望您不仅仅是自己键入
var
,因为它需要一个表达式才能编译。如果键入
var test=“Hello World”,会发生什么情况到你的主方法中?@JacobG。同样的问题。问题是IDE无法识别符号
var
@VinceEmigh Yes,正如的第三条注释中所述。我明白了。您将JRE列为
1.8
。在Java9+中,JRE内置于JDK中。你确定你已经完全卸载了Java 8吗?啊,对不起,没有仔细阅读。在其中一个答案中,它还说这是一个已知的bug,将被修复(参见)@TituBG,它说它在2018.2版中得到了解决。我有2019.1.3。此外,很多人正在成功地使用Java12功能。@TituBG我会试试。顺便说一句,我认为问题不在于我使用的版本,因为其他用户提到他们正在使用
var
和其他java12特性。我会让你知道你的建议是否有效!哦对不起,我也没注意到那部分。我刚刚在我的本地安装(Ubuntu上的2019.1版)上试用了它,它似乎工作得很好。我想知道这是否与引导JDK有关?我记得很久以前它会引起问题。你是用捆绑的JVM安装IntelliJ的吗?我刚刚看到了你的输出@Lapo。它看起来像是你的引导JDK,由JB捆绑的1.8。这可能是您无法使用
var
的原因。按“Ctrl+Shift+A”并键入“Boot”,然后选择“Swith Boot JDK”选项并切换到较新的JDK,然后重试。如果不是那样的话,我就没有主意了。