I'm having trouble with IntelliJ setting the proper language level. Has
anyone else seen the following behavior?

IntelliJ 2019.3.2 (Community Edition)
installed from ideaIC-2019.3.2-no-jbr.tar.gz

File > Project Structure > Platform Settings > SDKs
  - Only 1.8 is loaded
File > Project Structure > Project Settings > Project
  - Project SDK = 1.8
  - Project language level = 8 - Lambdas, type annotations etc.
File > Project Structure > Project Settings > Modules
  - Every module lists "Language level" as "11 - Local variable syntax for
lambda paramters"
File > Settings > Build, Execution, Deployment > Build Tools > Maven >
Importing
  - JDK for importer = 1.8

I go to File > Settings > Build, Execution, Deployment > Compiler > Java
Compiler
  - Project bytecode version = 8
  - Select all modules and remove them
  - Apply
>From Project view, select root level pom.xml > Maven > Reimport
Return to File > Settings > Build, Execution, Deployment > Compiler > Java
Compiler
  - All modules have returned and have a Target bytecode version of 11

At this point, I can't run unit tests in IntelliJ. I get an error "Error:
java: invalid source release: 11"

I could just use Java 11, but I'm curious if this is related to the jigsaw
profile. When I remove the <activation> from the jigsaw profile, I get the
above behavior. When I remove both the activation and the properties
(maven.compiler.sorce and maven.compiler.target), then I can get the
language level to remain at 1.8.

It appears the jigaw profile may be activating all the time. Or, maybe
IntelliJ is presenting the incorrect JDK version?

-Mark

Reply via email to