I am trying to build an application which was built using java 8, now it's upgraded to java 11. I installed Java 11 using an oracle article in my windows machine and I use IntelliJ IDEA 2017 as my IDE.
I changed my system environment variables and set the
JAVA_HOME to C:\Program Files\Java\jdk-11.0.1
And added that to the Path
variable.
C:\>java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
When I build my application in IntelliJ, this is what I get:
Information:java: Errors occurred while compiling module 'test-domain_main'
Information: javac 1.8.0_171 was used to compile java sources
Information:1/10/2019 4:21 PM - Compilation completed with 1 error and 0 warnings in 1s 199ms
Error:java: invalid target release: 11
This is what I've tried so far:
I changed .idea/compiler.xml
target values from 8 to 11 but that didn't help. Also, verified the Target bytecode version
in settings > Build, Execution, Deployment > Compiler > Java Compiler
and all my modules are set to 11.
Went to file > Project Structure > SDKs *(currently I have 1.7 and 1.7 listed)* > Add new SDK > JDK >
After that, I selected C:\Program Files\Java\jdk-11.0.1
But it errors out with "The selected directory is not a valid home for JDK"
I am not sure if I installed the wrong JDK 11, because in my C:\Program Files\Java\
, I see separate JDK and JRE folders for 1.7
and 1.8
but only JDK folder for 11.0.1
Or is it something else I need to change?
This question is related to
java
intellij-idea
java-11
I've got the same issue as stated by Grigoriy Yuschenko. Same Intellij 2018 3.3
I was able to start my project by setting (like stated by Grigoriy)
File->Project Structure->Modules ->> Language level to 8 ( my maven project was set to 1.8 java)
AND
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> 8 also there
I hope it would be useful
I Could say I had similar issue. My case: I switched from new version to old version of the project in workspace, try to run single junit which require recompil, recompilation error was thrown with invalid target.
From Projects settings (F4) in IntelliJ everything was looking good and java was set to 1.7. But when I try recompile from IDE error was thrown because of wrong target level. After checking I found that in one of the iml file language was set to JDK_11. After manual change to JDK_1_7 everything back to normal.
Worth to also manual check lang level in *iml files created by IDE.
Below changes worked for me and hope the same works for you.
Change the version of Java from 11 to 8 in pom.xml file
<java.version>1.8</java.version>
Go to, File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
Here, in Module column you can see your project listed and in Target bytecode version column, Java version for the project is already specified(mostly 11), change it to 8
Go to, File -> Project Structure -> Modules. Here, in Source tab, you can see Language level option, choose 8 - Lambdas, type annotations etc.. Finally, choose Apply and OK, you're good to go.
I added these two lines to build.gradle file
compileJava.options.fork = true
compileJava.options.forkOptions.executable = 'C:\\Program Files\\Java\\jdk-11.0.8'
and it works
I am using windows and my project based on gradle
my jdk path -> 'C:\Program Files\Java\jdk-11.0.8'
please provide your jdk path
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
After running You will see error is resolved..
You can see it's work perfectly.. Please approach me If you find any problem
In your pom.xml file inside that <java.version> write "8" instead write "11" ,and RECOMPILE your pom.xml file And tadaaaaaa it works !
I also got a similar error but in my case it was Error:java: invalid source release: 11... So I just changed all the annotations of java 11 to java 8 and even if the annotation was java 8, I just leaved it like that. I hope it helps you to fix the issue.
If building a project through a build system (Maven, Gradle etc..) works but IntelliJ show Invalid target release
error, then do the following,
Close IntelliJ
Go to the directory of the project
Delete the .idea/ directory
Start IntelliJ with the project's directory
This will re-create the .idea/ directory and will no longer show the error.
NOTE: Any repository specific IntelliJ settings that you have added would be deleted when the .idea/ directory is deleted and they will be re-created with the defaults.
I tried all the above and found this secret sauce
For me, I was having the same issue but it was with java v8
, I am using a different version of java on my machine for my different projects. While importing one of my project I got the same problem. To check the configuration I checked all my SDK related settings whether it is in File->Project->Project Structure / Modules
or in the Run/Debug configuration setting. Everything I set to java-8
but still I was getting the same issue. While checking all of the configuration files I found that compiler.xml in .idea is having an entry for the bytecodeTargetLevel which was set to 11. Here if I change it to 8 even though it shows the same compiler output and removing <bytecodeTargetLevel target="11" />
from compiler.xml
resolve the issue.
My project module was set to 8 but the pom.xml was set to 11. When I changed from 8 to 11 in the module, it worked.
If you are in Springboot please check the java version in the pom.xml file
<properties>
<java.version>11</java.version>
</properties>
If this version doesn't match with your default version(Java) of the computer, that error can be happen.
Just had same error. Problem was that I had empty package-info.java file
. As soon as I added package name inside it worked...
I had the issue because I'm currently upgrading my code base to JDK 11 and am switching between 8 and 11 in the branches. It seems IntelliJ doesn't like this.
Solution:
If you've selected the currect JDK in your project structure (Ctrl+Shift+Alt+S
) and still get the error, invalidate your cache File > Invalidate Caches / Restart...
.
After restarting the IDE the error went away in my case.
To resolve this issue I've changed File->Project Structure->Modules ->> Language level to 10.
And check File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler ->> Project bytecode and Per-module bytecode versions. I have 11 there.
Now I don't get these notifications and the error.
It could be useful for someone like me, having the most recent Idea and getting the same error.
i also got same error , i just change the java version in pom.xml from 11 to 1.8 and it's work fine.
I changed file -> project structure -> project settings -> modules In the source tab, I set the Language Level from : 14, or 11, to: "Project Default". This fixed my issue.
January 6th, 2021
This is what worked for me.
Go to File -> Project Structure and select the "Dependencies" tab on the right panel of the window. Then change the "Module SDK" using the drop-down like this. Then apply changes.
Got this same error after updating my Idea and I resolved it as follows:
File >> Project Structure... >> Project
“Project language level:” was set to “11 - Local variable syntax for lambda parameters” so I changed it to “SDK default (8 - Lambdas, type annotations etc.)” then applied the change and the error was resolved.
2021 Jan.12th
the whole point for me is to explicitly specify the version as java 11 in my pom.xml, and I solved the problem by taking the following steps.
open terminal and input: java -version, then i got 1.8, and i went to .bash_profile to switch the java version to 11.2 as i have multiple java version installed. please remember "restart" your terminal and check your java version again to confirm switch is successful.
Then i went to File -> Project Structure to make sure my IntelliJ using the same version as my env, which is 11.2.
RESTART your Intellij, mvn clean install, solved, hope this could help someone with this issue, thanks.
Source: Stackoverflow.com