java-11jooq

JOOQ 3.17.1 appears to be generating source that won't work with Java 11


After upgrading to jooq 3.17.1 I get the following error:

Error: /home/runner/work/waste-coordinator/waste-coordinator/webapp/target/generated-sources/jooq/com/myapp/portal/backend/jooq/tables/LoadView.java:[521,84] text blocks are not supported in -source 11 Error: (use -source 15 or higher to enable text blocks)

It appears to me that it is generating source that is not compatible with JDK11. Is there a flag in the generator somewhere that can make it generate JDK 11 compatible code?

Edit: now I am getting the following compile error

[ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /usr/local/code/sferion/WasteCoordinator/data/src/main/java/com/wastecoordinator/data/JOOQGenerator.java:[4,24] cannot access org.jooq.codegen.GenerationTool bad class file: /Users/benstpierre/.m2/repository/org/jooq/jooq-codegen/3.17.1/jooq-codegen-3.17.1.jar(/org/jooq/codegen/GenerationTool.class) class file has wrong version 61.0, should be 55.0 Please remove or make sure it appears in the correct subdirectory of the classpath.

Is jooq 3.17 not compatible with JDK 11?


Solution

  • The complete jOOQ edition / JDK support matrix can be seen here: https://www.jooq.org/download/support-matrix-jdk

    You can download the right distribution to work with JDK 11 from here if you're licensed: https://www.jooq.org/download/versions

    Note that starting from jOOQ 3.17, the jOOQ Open Source Edition increased the baseline JDK version to Java 17, see:

    jOOQ is a bit early here, given that Spring will increase their own baseline only later in 2022:

    But jOOQ will continue to provide paid support for older JDKs for quite a while, still. At the same time, jOOQ 3.14 - 3.16 will receive patches for another while, too.