Where can i set the java language level?

in a logfile generated during test-generation, i found this entry.
But i have no idea, how and where to set the language complience level.
Is it even used?

Hi, and thank you for contacting Diffblue Support.
Java compliance is something that you will need to set in your IDE, as for example Where set java compiler in IntelliJ 2018 - Stack Overflow

Kind regards,

tja - the logfile says ‘Detected language level 17 …’ - that is set in the project.
your Stack Overflow reference points to a setting in an older version of IntelliJ.
Maybe that logmessage is outdated and can go away.

The compliance level is the target bytecode version, which can be set in IntelliJ as shown in the screenshot. This is typically automatically imported from your Maven/Gradle configuration.
Best regards,

ok, i see - but what is that used for? never mind, this looks like the output specification - not the input.
But what is it used for? Diffblue gets sourcecode as input and produces output as sourcecode.
i would consider it as rather scary if the generated tests depend on that setting.
i guess, it is just needed as the Diffblue machinery needs some parameter to pass to the compiler…

No. Diffblue Cover processes the byte code.


To clarify Diffblue examines your bytecode by ingesting the compiled artefacts - hence why we need to know the bytecode version. Diffblue Cover is performing dynamic analysis not static analysis.


Matt @ Diffblue