5
votes

While trying to run tests, I ran into this compilation error:

invalid source release: 1.8

I tried researching this on Google and here, and after applying all of the solutions that worked for others this issue still persists. Here is what I have done so far:

  • Preferences -> Java Compiler: set 'project bytecode version' to 1.8
    • I also set the target bytecode version to 1.8 for each individual module as well
  • Preferences -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner: Set JRE to use Project JDK (which correctly displays as 1.8)
  • Project Structure -> Project: set Project SDK to 1.8 and language level to 8
  • Project Structure -> Modules -> Sources: set language level to 8 for each module
  • Project Structure -> Modules -> Dependencies: set Module SDK to 1.8

I think this issue may have something to do with a discrepancy between the JDK and the compiler. When I run java -version from the terminal it returns 1.8.0_111. However when I run javac -version it returns 1.7.0_79. I looked for ways to force change the javac version to match the java version but nearly all of them reference update-alternatives which is not available for Mac OS or removing /usr/bin which is not allowed (even with sudo) on El Capitan.

Workaround Edit:
I was able to bypass the issue by going to Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler and changing the compiler from "javac" to "Eclipse" and I am able to compile my project.

5
How did you install Java on your Mac? - OneCricketeer
I downloaded Java SDK 8u111 directly from Oracle (oracle.com/technetwork/java/javase/downloads/…). - Marsipan
And you tried reinstalling again, followed by a reboot, to be safe? Your path and environment variables are getting messed up, seems like - OneCricketeer
I tried removing all java versions and then reinstalled 1.8.0_111, then rebooted. It is still coming up with the same error and javac is still 1.7, even though 1.7 should be gone. - Marsipan
You should provide your "workaround" as an answer below. Even though, I think that is the correct solution, not a workaround at all (Not sure why it says "Eclipse") - OneCricketeer

5 Answers

4
votes
  1. Install jdk1.8.*
  2. Change SDK to jdk1.8.*
  3. Done
1
votes

Try to change java version at the terminal, try this: change-java 8

1
votes

On IntelliJ:

  • Click on "File" menu
  • Click on "Settings" sub-menu.
  • On the Settings window, click to expand "Build, Execution, Deployment"
  • Expand "Build Tools"
  • Click on "Gradle"
  • On Gradle JVM, select the Java version you wish to use

IntelliJ Settings - Gradle Configuration Image

0
votes

I was able to successfully compile my project by going into Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler an changing the "use compiler" option from Javac to Eclipse.

0
votes

The solution that helped me:

Under Build, Execution, Deployment > Build Tools > Gradle > Runner

Change Run tests using: from Platform Test Runner to Gradle Test Runner:

enter image description here