Error:java: invalid source release: 8 in Intellij. What does it mean?

I'm trying to compile some code that I have in IntelliJ Ultimate 13.1.4, but I get the following error, and I have no idea what it means:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

My guess is that it's something related to Java 8 vs Java 7, but I have no idea what specifically. I've tried to Google around for this message, but they either talk about javac or target release, so it doesn't exactly seem to apply.

Upvotes: 410

Views: 378553

Answers (19)

Andreas Lundgren
Andreas Lundgren

Reputation: 12545

I had the same issue when "downgrading" a project from Java 8 to Java 6. The reason was that it was not changed at all places in IntelliJ.

In IntelliJ 13.1.4 I had to change Java and SDK version on the following places not to get this error:

  • File -> Project Structure -> Project Settings
  • File -> Project Structure -> Module Settings -> Tab: Sources: Language Level
  • File -> Project Structure -> Module Settings -> Tab: Dependencies: Module SDK
  • File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Target bytecode version

screen shot of File > Project Structure > Project

screen shot of File > Project Structure > Modules > Sources

screen shot of File > Project Structure > Modules > Dependencies

screen shot of File > Settings/Preferences > Compiler > Java Compiler

The last bullet was the one that was not updated in my case. Once I changed this, the error disappeared.

Upvotes: 942

N. I. Md. Ashafuddula
N. I. Md. Ashafuddula

Reputation: 121

I am using JDK 1.8.0_131 and for my case the issue was Error:java: invalid source release: 12, I solved this by changing the version code <version>2.7.5</version> in pom.xml and module -> language level 8.

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/>
    </parent>

Upvotes: 0

veritas
veritas

Reputation: 432

In my case the nuance was that I got a invalid source release 11 (instead of OP's 8). I tried all the solutions above

  • gradle jvm version , java compilter bytecode version, module language.

I set all the above to java 8 (or 1.8) as that is the library I have on my machine.

The issue was that the build.gradle file had

sourceCompatibility = '11'

Changed this to 8 and it stopped throwing 'compile failed invalid release 11' error

solution reference: github forum

Upvotes: 0

Raj Kushwaha
Raj Kushwaha

Reputation: 61

If You Get This ERROR: Error:java: invalid source release: 12 Information:java: Errors occurred while compiling module 'IdeaProjects' Information:javac 1.8.0_211 was used to compile java sources Information:Module "IdeaProjects" was fully rebuilt due to project configuration/dependencies changes Information:7/12/2021 8:21 PM - Build completed with 1 error and 0 warnings in 6 s 323 ms Error:java: invalid source release: 12

enter image description here

THEN

enter image description here Select Your Previous Version Project

In My side :

enter image description here

FINISHED

If you Get SOlution of Your IDE then Message Me www.betechnical.tech or [email protected]

Upvotes: 2

Uzair
Uzair

Reputation: 337

I was recently facing the same problem. This Error was showing on my screen after running my project main file. Error:java: invalid source release: 11 Follow the steps to resolve this error

  1. File->Project Structure -> Project
  2. Click New button under Project SDK: Add the latest SDK and Click OK.

enter image description here

After running You will see error is resolved..

enter image description here

Upvotes: 0

Yasin Bekar
Yasin Bekar

Reputation: 147

As Andreas mentioned all about:

Error:java: invalid source release: 8 in IntelliJ
Error:java: invalid source release: 13 in IntelliJ
Error:java: invalid source release: 14 in IntelliJ...

OR whatever version you are using in Java...

The problem will exist if you do not have it matching inside the below code:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

This 1.8 in my case, must be matching on your device through MAVEN project library, settings, preferences, project setting and SDK.

Upvotes: 0

Beezer
Beezer

Reputation: 1108

Lots of good answers. For those using the (almost) latest version of Intellij, at the time of writing, what can be said, is that the project JDK can be at a higher level, than that of the module. In fact without it, Maven will have to be rolled back to an older version. Therefore with the following version of Intellij: enter image description here

One should not change the project level JDK and therefore be able to leverage the Maven or Gradle settings when building, but when running Maven or running Gradle using a more modern version of the JDK. If you lower your project level JDK from say JKD8 to JDK6, Maven or Gradle will not run.

Keeping your module at a lower level JDK-wise will enable you to build it to that version, if you use the Module rebuild or build options; using the menu options for rebuilding the project will complain wit "Invalid source release:8...".

Upvotes: 0

Derek MC
Derek MC

Reputation: 376

I had the same issue the solution for me was to change my java version in the pom.xml file.

I changed it from 11 to 8. enter image description here

Upvotes: 0

cresclux
cresclux

Reputation: 76

I tried out all the steps mentioned in here https://stackoverflow.com/a/26009627/2058104, but the 4th point has now changed. You need to go to Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler

In there, as shown in below figure, you need to change the "Target bytecode version". Although, I changed it to 8 (since I needed to downgrade to Java 8), it was giving the same error, over and over. Therefore, try to remove the existing entry (in this table) and add it again. This worked for me.

enter image description here

On the other hand, clean the project and try to run again.

Upvotes: 0

Oleg Ushakov
Oleg Ushakov

Reputation: 1545

I add one more path unmentioned in this answer https://stackoverflow.com/a/26009627/4609353

but very important is Edit Configurations

one more path

Upvotes: 0

ArifMustafa
ArifMustafa

Reputation: 4935

I checked all above said project version, module version, project bytecode version, target bytecode version settings in IntelliJ Idea, but all were the same as I scratched.

I face this error Error:java: invalid source release: 1.8 in IntelliJ Idea 2017.2.6 because I upgraded the dependency version Maven pom file, which(dependency) were supposed to build for JDK 1.8 application and I were building my application on and with maven compiler source and target JDK 1.7.

Hence I again downgrade the dependency version to earlier one in Maven pom, and the error gone after project Rebuild Module 'xyz_project'.

Upvotes: 1

Katherine Nicol
Katherine Nicol

Reputation: 21

You need to click to the project Open Module Settings and change the path of your JDK, if in the file POM you use jdk 1.8, configure jdk 1.8 with correct path.

Upvotes: 0

It can be simply overcome by setting on Project Structure. You just need to select the right path for related version of JDK. Select new on dependencies tab, and choose the path. It's done!

enter image description here

Upvotes: 5

B5A7
B5A7

Reputation: 915

For Grails users, apply these declarations in your BuildConfig.groovy file:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

Upvotes: 0

Java_Waldi
Java_Waldi

Reputation: 934

For Gradle users having this issues, if nothing above helps this is what solved my problem - apply this declarations in your build.gradle files:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

Problem solved!

Upvotes: 9

Aziz Mamoyan
Aziz Mamoyan

Reputation: 81

Change in pom.xml 1.6 to 1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

Upvotes: 8

jilbot
jilbot

Reputation: 161

Andreas Lundgren's answer worked and I was able to compile and run my app.

However, when I tried to run the project's associated JUnit tests I received the same error. Running

gradle -version

from Windows command prompt showed that gradle was still picking up the incorrect jdk. To fix it I had to set the JAVA_HOME environment variable to point to the correct jdk and restart IntelliJ.

Upvotes: 2

juliangonzalez
juliangonzalez

Reputation: 4381

If you are using Gradle as a build tool and you get this error when executing a Gradle task i.e TomcatRun take a look to my other answer to the same question

javac: invalid target release: 1.8

Upvotes: 6

Yash Bajaj
Yash Bajaj

Reputation: 199

Check your pom.xml first (if you have one)
Check your module's JDK dependancy. Make sure that it is 1.8
To do this,go to Project Structure -> SDK's
Add the path to where you have stored 1.8 (jdk1.8.0_45.jdk in my case)
Apply the changes
Now, go to Project Structure ->Modules
Change the Module SDK to 1.8
Apply the changes

Voila! You're done

Upvotes: 19

Related Questions