{"record":{"id":"a400efe48bd3d33c","repo":"GoogleContainerTools/jib","slug":"error-running-extension-extensionname-ex-g-a400ef","errorCode":null,"errorMessage":"error running extension '${extensionName}': ${ex.getMessage()}","messagePattern":"error running extension '(.+?)': (.+?)","errorType":"exception","errorClass":"GradleException","httpStatus":null,"severity":"error","filePath":"jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/BuildTarTask.java","lineNumber":188,"sourceCode":"\n    } catch (InvalidFilesModificationTimeException ex) {\n      throw new GradleException(\n          \"container.filesModificationTime should be an ISO 8601 date-time (see \"\n              + \"DateTimeFormatter.ISO_DATE_TIME) or special keyword \\\"EPOCH_PLUS_SECOND\\\": \"\n              + ex.getInvalidFilesModificationTime(),\n          ex);\n\n    } catch (InvalidCreationTimeException ex) {\n      throw new GradleException(\n          \"container.creationTime should be an ISO 8601 date-time (see \"\n              + \"DateTimeFormatter.ISO_DATE_TIME) or a special keyword (\\\"EPOCH\\\", \"\n              + \"\\\"USE_CURRENT_TIMESTAMP\\\"): \"\n              + ex.getInvalidCreationTime(),\n          ex);\n\n    } catch (JibPluginExtensionException ex) {\n      String extensionName = ex.getExtensionClass().getName();\n      throw new GradleException(\n          \"error running extension '\" + extensionName + \"': \" + ex.getMessage(), ex);\n\n    } catch (IncompatibleBaseImageJavaVersionException ex) {\n      throw new GradleException(\n          HelpfulSuggestions.forIncompatibleBaseImageJavaVersionForGradle(\n              ex.getBaseImageMajorJavaVersion(), ex.getProjectMajorJavaVersion()),\n          ex);\n\n    } catch (InvalidImageReferenceException ex) {\n      throw new GradleException(\n          HelpfulSuggestions.forInvalidImageReference(ex.getInvalidReference()), ex);\n\n    } catch (ExtraDirectoryNotFoundException ex) {\n      throw new GradleException(\n          \"extraDirectories.paths contain \\\"from\\\" directory that doesn't exist locally: \"\n              + ex.getPath(),\n          ex);\n    } finally {","sourceCodeStart":170,"sourceCodeEnd":206,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/BuildTarTask.java#L170-L206","documentation":"When a Jib plugin extension (JibPluginExtensionException) fails during jibBuildTar, BuildTarTask.buildTar rethrows it as a GradleException with the extension class' fully-qualified name and the extension's own message. This means a Jib extension (e.g. jib-spring-boot or a custom build-plan modifier) threw while computing or applying its container build plan.","triggerScenarios":"Running a jib task with a pluginExtension configured whose extend() implementation (or a Jib-provided extension) throws a JibPluginExtensionException; the exception message is propagated verbatim into 'error running extension <FQCN>: <message>'.","commonSituations":"Using jib-spring-boot against a project that is not a Spring Boot app (no bootJar artifacts); a third-party extension with a bug or incompatible Jib version; extension fails because the project layout does not match its assumptions.","solutions":["Read the wrapped extension message in the cause ('Caused by') and fix the project/config issue it describes","Remove or disable the pluginExtension configuration if it is not needed (e.g. jib-spring-boot on a non-Boot project)","Check the extension's documentation for prerequisites (required tasks, artifacts, Jib API version) and update the extension/Jib to compatible versions"],"exampleFix":"// before (non-Boot project with spring-boot extension configured)\njib { pluginExtensions { pluginExtension { implementation = 'com.google.cloud.tools.jib.gradle.extension.springboot.JibSpringBootExtension' } } }\n// after: remove the pluginExtension block, or make the project a Spring Boot application so bootJar exists","handlingStrategy":"try-catch","validationCode":"// Ensure prerequisites exist before running jib with extensions\ntasks.named('jibBuildTar') { dependsOn tasks.named('jar') }","typeGuard":null,"tryCatchPattern":"try {\n  tasks.named('jibBuildTar')\n} catch (GradleException e) {\n  if (e.message.startsWith('error running extension')) {\n    logger.error('Extension failed: ' + e.cause?.message)\n    // fall back to a build without the extension or rethrow with context\n  } else throw e\n}","preventionTips":["Only register extensions whose documented prerequisites (tasks, plugins, project layout) your project satisfies","Keep jib-gradle-plugin and extensions on compatible versions","Test extension-enabled builds in CI before relying on them"],"tags":["jib","gradle","plugin-extension"],"backgroundTag":"plugin-extension-crashed","analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}