IDEA: javac: source release 1.7 requires target release 1.7
Most likely you have incorrect compiler options imported from Maven here:
Also check project and module bytecode (target) version settings outlined on the screenshot.
Other places where the source language level is configured:
- Project Structure | Project
- Project Structure | Modules (check every module) | Sources
Maven default language level is 1.5 (5.0), you will see this version as the Module language level on the screenshot above.
This can be changed using maven-compiler-plugin configuration inside pom.xml
:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
or
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
IntelliJ IDEA will respect this setting after you Reimport the Maven project in the Maven Projects tool window:
Error:java: javacTask: source release 8 requires target release 1.8
- Go to File > Settings > Build, Execution, Deployment > Compiler > Java Compiler If on a Mac, it's under Intellij IDEA > Preferences... > Build, Execution, Deployment > Java Compiler
- Change Target bytecode version to 1.8 of the module that you are working for.
If you are using Maven
Add the compiler plugin to pom.xml
under the top-level project
node:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(Hoisted from the comments.)
Note: If you don't mind reimporting your project, then the only thing you really need to do is change the pom and reimport the project, then IntelliJ will pick up the correct settings and you don't have to manually change them.
Error: Java: invalid target release: 11 - IntelliJ IDEA
I've got the same issue as stated by Gryu.
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
invalid target release: 1.7
You need to set JAVA_HOME to your jdk7 home directory, for example on Microsoft Windows:
- "C:\Program Files\Java\jdk1.7.0_40"
or on OS X:
- /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
Unable to compile using Java 1.7 in Jetbrains Intellij after moving from 1.6 to 1.7 (maven based project)
Doh, found it
File/Settings/Java Compiler/Additional command line parameters
changed from -target 1.6 to -target 1.7
Does seem wierd for it to be here though, disconnected from the rest of the related options.
Error:java: javacTask: source release 1.8 requires target release 1.8
Android supports java8, but your code and dependencies libraries should't call MethodHandle.invoke
. See https://developer.android.com/studio/write/java8-support .
Standard scala libraries 2.11, 2.12, 2.13.0-M5 use this method, therefore compilation is unsuccessful.
Maven - invalid target release 1.7 with Java 1.7
mvn clean
removes target
folder which is read only.
Solution : Use sudo
right ? Except that sudo
no longer reads your variables or PATH but those of super user
sudo mvn -v
now shows Java 1.6
Big thanks to khmarbaise
Related Topics
How to Use Key Bindings Instead of Key Listeners
Array or List in Java. Which Is Faster
Is There a Goto Statement in Java
How to Extract Numbers from a String and Get an Array of Ints
How to Fix Dagger 2 Error '... Cannot Be Provided [...]'
Where Does the @Transactional Annotation Belong
How to Convert Json to a Hashmap Using Gson
What Does ≪T≫ (Angle Brackets) Mean in Java
What Are Java Command Line Options to Set to Allow Jvm to Be Remotely Debugged
When to Use: Java 8+ Interface Default Method, Vs. Abstract Method
Wait For Page Load in Selenium
Compare Two Objects With .Equals() and == Operator