OpenAPITools/openapi-generator · error · RuntimeException

DateLibrary " + dateLibrary + " is not supported. Please use

Error message

DateLibrary " + dateLibrary + " is not supported. Please use java8

What it means

The scala-http4s (deprecated) client generator supports exactly one date library, java8 (java.time LocalDate/Instant/OffsetDateTime). processOpts() compares DateLibraries.java8.name() against the dateLibrary option and throws RuntimeException with 'Please use java8' for every other value.

Source

Thrown at modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaHttp4sClientCodegen.java:254

    @Override
    public void processOpts() {
        super.processOpts();

        if (DateLibraries.java8.name().equals(dateLibrary)) {
            typeMapping.put("date", "LocalDate");
            typeMapping.put("date-time", "Instant");
            typeMapping.put("offset-date-time", "OffsetDateTime");
            typeMapping.put("Date", "LocalDate");
            typeMapping.put("DateTime", "Instant");
            typeMapping.put("OffsetDateTime", "OffsetDateTime");
            this.importMapping.put("LocalDate", "java.time.LocalDate");
            this.importMapping.put("Instant", "java.time.Instant");
            this.importMapping.put("OffsetDateTime", "java.time.OffsetDateTime");
            additionalProperties.put("java8", "true");
        } else {
            String error = "DateLibrary " + dateLibrary + " is not supported. Please use java8";
            LOGGER.error(error);
            throw new RuntimeException(error);
        }

        if (additionalProperties.containsKey(CodegenConstants.PACKAGE_NAME)) {
            packageName = (String) additionalProperties.get(CodegenConstants.PACKAGE_NAME);
            setApiPackage(packageName + ".apis");
            setModelPackage(packageName + ".models");
            additionalProperties.put(CodegenConstants.API_PACKAGE, apiPackage());
            additionalProperties.put(CodegenConstants.MODEL_PACKAGE, modelPackage());
        } else {
            additionalProperties.put(CodegenConstants.PACKAGE_NAME, packageName);
        }
        if (additionalProperties.containsKey(CodegenConstants.SOURCE_FOLDER)) {
            //you can set your own source folder, i.e. target/scala-3.3.3/src_managed/main
            this.sourceFolder = (String) additionalProperties.get(CodegenConstants.SOURCE_FOLDER);
        }
        if (additionalProperties.containsKey(CodegenConstants.ARTIFACT_ID)) {
            this.artifactId = (String) additionalProperties.get(CodegenConstants.ARTIFACT_ID);
        }

View on GitHub (pinned to fcec517be3)

Solutions

  1. Remove the dateLibrary option (java8 is the only/default value)
  2. Or set it explicitly: -c dateLibrary=java8
  3. Consider migrating off this deprecated generator to an actively maintained Scala one if you need other date handling

Example fix

# before
openapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=threetenbp
# after
openapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=java8
Defensive patterns

Strategy: validation

Validate before calling

# bash: the only valid dateLibrary for scala-http4s is java8
if [[ -n "${DATE_LIBRARY:-}" && "${DATE_LIBRARY}" != java8 ]]; then
  echo 'scala-http4s supports only dateLibrary=java8; unsetting'; unset DATE_LIBRARY
fi
openapi-generator-cli generate -i api.yaml -g scala-http4s ${DATE_LIBRARY:+-c dateLibrary=$DATE_LIBRARY}

Try / catch

try {
    new DefaultGenerator().opts(input).generate();
} catch (RuntimeException e) {
    // 'DateLibrary X is not supported. Please use java8' - drop the option or set java8, then rerun
}

Prevention

When it happens

Trigger: openapi-generator-cli generate -i api.yaml -g scala-http4s -c dateLibrary=threetenbp / java8-localdatetime / joda. Any value other than the exact string 'java8' fails; the option has historically had other values in sibling java generators, which is where bad values usually come from.

Common situations: Reusing a java/jaxrs or scala-akka config block that sets dateLibrary=threetenbp; CI jobs shared across generators templating one dateLibrary for all -g values; generator upgrades where previously-tolerated values became unsupported.

Related errors


AI-assisted analysis of OpenAPITools/openapi-generator@fcec517be3 (2026-08-22). Data as JSON: /api/errors/d1ab8197df9626c7. Report an issue: GitHub.