Reputation: 13210
Using Jetbrains 11.2 project based on a Maven project. Then I required to move to 1.7. I have 1.7 installed , I updated my pom.xml and I can rebuild the whole package using maven okay.
I've modified every setting I can see in Intelli Projects settings regarding Java version
but I cannot get it to compile a file it complains:
Error:javac target release of 1.6 conflicts with source release 1.7
I then tried on my other dev machine using the same codebase but a different Intellij Project and on this I get a similar error:
Error:javac: source release 1.7 requires target release 1.7
I cannot see anything else to change in order to get this working.
Upvotes: 24
Views: 46003
Reputation: 11
I encountered the same problem. I solved it by Intellij IDEA -> Preferences -> Compiler -> Java Compiler -> Project bytecode version -> 1.7 & Target bytecode version -> 1.7
Upvotes: 1
Reputation: 4100
You can change compiler version here:
File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler
Now change Target bytecode version
to desired one.
You can change compiler version here:
Intellij IDEA -> Preferences -> Compiler -> Java Compiler
-> Project bytecode version -> 1.7 (for example)
Upvotes: 9
Reputation: 7893
For IntelliJ 12, I solved this by opening the File:Project Structure and updating the Project SDK to 1.7 and the Project language level to "7.0 - Diamonds, ARM, multi-catch etc."
If you don't have IntelliJ configured with JDK 1.7, add it with the "New" button. Select type "JDK".
Upvotes: 7
Reputation: 2960
Another potential fix is to make sure that your build file has the version hardcoded as seen here
<javac target="1.7" source="1.7" ... />
as opposed to
<property name="java.version" value="1.7" />
<javac target="${java.version}" source="${java.version}" ... />
Though this could be due to my misunderstanding of how variables work in build files. You would think that this would make sense though
Upvotes: 1
Reputation: 2253
As an alternative solution, which worked for me is to check in Module Settings the
Language Level property. It was set to 8.0 Lambdas
and changed to 6.0 @Overrides in interfaces
, and after that compilation worked without error.
Upvotes: 13
Reputation: 13210
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.
Upvotes: 38