How to change project language level for all project in Intellij
If it is a maven project, make sure that the following is set.
For example, if you want to use the Java 8 language features (-source 1.8) and also want the compiled classes to be compatible with JVM 1.8 (-target 1.8), you can either add the two following properties, which are the default property names for the plugin parameters:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
For more details check this
File -> Other Settings -> Default Project Structure...
You can change it in there.
(Edit: It's now called "Structure for New Projects")
I had same problem. Changing IntelliJ IDEA setting files (misc.xml, compiler.xml) has not helped. Then I changed language level in two places:
1) File -> Project Structure -> Modules, "Sources" tab, Language level 8 (or higher).
2) Settings -> Build, Execution,Deployment -> Compiler -> Java Compiler -> Target bytecode version (version 1.8)
This worked fine.
I changed the settings to Java 8 as advised above...->Default Project Structure.
It did'nt work!!I continued not being able to write Lambda's in the editor without errors.
When I created the project, I chose Gradle as the build tool. For some reason my Java/Gradle project had the source compatibility in the build.gradle file set to 1.5 (maybe because my default was originally set to 1.5...I don't know as I did not bother to reproduce it):
apply plugin: 'java'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
Changing the sourceCompatibility to 1.8 solved the problem, since the update to the gradle file also triggers a project build.
Word to the wise:
any newbie on Intelij should remember that not selecting either Maven or Gradle in conjunction with your Java project creation will not setup the default package (src/main/test and src/main/java) structures necessary; for eclipse users this is a real head scratcher when first starting to use Intelij.