Error in jooq codegen after upgrading to 3.18

256 Views Asked by At

After upgrading jooq from 3.17.13 -> 3.18.0, I get warnings during the generateJooq task. I've made sure to keep the version of org.jooq:jooq-codegen (the gradle plugin and java library) and org.jooq:jooq in sync and are all at 3.18.0. I also tried 3.18.4 and got the same results.

> Task :proj-jooq:generateJooq
11:33:13 WARNING org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 3124; cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":oracleUseDBAViews}'. One of '{"http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":properties, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":regexFlags, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":includeSql, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":excludeSql, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":comments, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":syntheticObjects, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":outputCatalog, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":outputSchema, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":catalogs, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":schemata, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":embeddables, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":embeddablePrimaryKeys, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":embeddableUniqueKeys, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":embeddableDomains, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":customTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":enumTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":forcedTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":tableValuedFunctions, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":logSlowQueriesAfterSeconds, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":logSlowResultsAfterSeconds}' is expected.
11:33:13 WARNING org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 3980; cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":generatedAnnotationJooqVersion}'. One of '{"http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":nonnullAnnotation, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":nonnullAnnotationType, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":nullableAnnotation, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":nullableAnnotationType, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":constructorPropertiesAnnotation, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":constructorPropertiesAnnotationOnPojos, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":constructorPropertiesAnnotationOnRecords, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":routines, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":sequences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":udts, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":queues, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":links, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":keys, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":tables, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":embeddables, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":records, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":recordsImplementingRecordN, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":enumsAsScalaSealedTraits, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojos, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojosEqualsAndHashCode, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojosToString, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojosAsJavaRecordClasses, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojosAsScalaCaseClasses, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":pojosAsKotlinDataClasses, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":immutablePojos, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":serializablePojos, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":interfaces, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":immutableInterfaces, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":serializableInterfaces, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":daos, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":jooqVersionReference, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":jpaAnnotations, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":jpaVersion, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":validationAnnotations, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":springAnnotations, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":springDao, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":kotlinSetterJvmNameAnnotationsOnIsPrefix, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalObjectReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalCatalogReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalSchemaReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalDomainReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalTableReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalSequenceReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalUDTReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalRoutineReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalQueueReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalLinkReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalKeyReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":globalIndexReferences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":javadoc, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":comments, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnCatalogs, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnSchemas, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnTables, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnColumns, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnEmbeddables, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnUDTs, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnAttributes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnPackages, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnRoutines, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnParameters, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnSequences, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnLinks, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnQueues, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":commentsOnKeys, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":sources, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":sourcesOnViews, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":fluentSetters, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":javaBeansGettersAndSetters, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":varargSetters, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":generatedSerialVersionUID, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":maxMembersPerInitialiser, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":fullyQualifiedTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":emptyCatalogs, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":emptySchemas, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":javaTimeTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":spatialTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":xmlTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":jsonTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":intervalTypes, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":newline, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":indentation, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":printMarginForBlockComment, "http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":textBlocks}' is expected.

This is confusing because:

  1. the first error references {"http://www.jooq.org/xsd/jooq-codegen-3.17.0.xsd":oracleUseDBAViews}, but I'm using Postgres, not oracle.
  2. The xsd version is 3.17.0, but I've upgraded jooq to 3.18.0.
1

There are 1 best solutions below

0
On

I'm assuming you're using this third party plugin to generate code from gradle. It isn't following the same release numbering as jOOQ, so if you want to rely on its defaults, you have to use their matching version number for any given jOOQ version.

Otherwise, there are some examples on how to configure the jOOQ version as well as the XSD version, for example here:

buildscript {
    configurations['classpath'].resolutionStrategy.eachDependency {
        if (requested.group == 'org.jooq') {
            // set jOOQ version used at configuration time to enforce a specific jOOQ config XML schema version
            useVersion '3.18.4'
        }
    }
}

// ...
jooq {
    version = '3.18.4'
    // ...
}