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.