I installed JDK 10 to try out the new features, and I got a big hung up on var
- for some reason, even though the JDK was added to IntelliJ (version 2018.1), the following code still won't compile, saying Java cannot find the symbol var
:
public class Variations {
public static void main(String[] args) {
var local = "foo";
System.out.println(local);
}
}
Am I missing something obvious here, or is there an option in IntelliJ I should enable?
EDIT: Both project and module SDK and Language Level are set to the Java 10 installation and lvl. 10 (though not the X - experimental
level).
Apparently, though a hard restart of the IDE is not enough, by setting language level to
X - Experimental features
on both the project and the module once, then re-setting it to lvl. 10 was enough to bring the IDE back in line.I guess I should credit @CrazyCoder here for giving me the idea, even if indirectly.
I searched on the web for a while and I found out that IntelliJ fully supports it. Have you checked if the SDK version you are running on IntelliJ is the 10th? You can check it by going to Project Structure (Alt+Shift+Ctrl+S), SDKS. From here if you don't see the label 10.0 in the left side of the panel just manually add it with the plus button. Hope this helps.
Your code works fine with Java10 on my MacOS IntelliJ 2018.1 built on March 27 2018.
There might be error with either your IntelliJ or
JDK
. Try to usejshell
from terminal instead. If can, should update your IntelliJ. If cannot, should check your installedJDK
. The version on my machine:In Settings/Build/Compiler/Java Compiler you must change the "Target bytecode version" to 10 in each one of your modules.