{"record":{"id":"d67f224007997d95","repo":"GoogleContainerTools/jib","slug":"error-running-extension-extensionclassname-m-d67f22","errorCode":null,"errorMessage":"error running extension '<extensionClassName>': <message>","messagePattern":"error running extension '<extensionClassName>': <message>","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"jib-maven-plugin/src/main/java/com/google/cloud/tools/jib/maven/BuildImageMojo.java","lineNumber":161,"sourceCode":"\n    } catch (InvalidFilesModificationTimeException ex) {\n      throw new MojoExecutionException(\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 MojoExecutionException(\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 MojoExecutionException(\n          \"error running extension '\" + extensionName + \"': \" + ex.getMessage(), ex);\n\n    } catch (IncompatibleBaseImageJavaVersionException ex) {\n      throw new MojoExecutionException(\n          HelpfulSuggestions.forIncompatibleBaseImageJavaVersionForMaven(\n              ex.getBaseImageMajorJavaVersion(), ex.getProjectMajorJavaVersion()),\n          ex);\n\n    } catch (InvalidImageReferenceException ex) {\n      throw new MojoExecutionException(\n          HelpfulSuggestions.forInvalidImageReference(ex.getInvalidReference()), ex);\n\n    } catch (IOException\n        | CacheDirectoryCreationException\n        | MainClassInferenceException\n        | InvalidGlobalConfigException ex) {\n      throw new MojoExecutionException(ex.getMessage(), ex);\n","sourceCodeStart":143,"sourceCodeEnd":179,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-maven-plugin/src/main/java/com/google/cloud/tools/jib/maven/BuildImageMojo.java#L143-L179","documentation":"Jib plugin extensions (classes implementing JibPluginExtension) run as part of the build. When an extension throws or fails, it is wrapped in JibPluginExtensionException, and execute() rethrows it as a MojoExecutionException naming the extension's fully-qualified class name and the underlying message.","triggerScenarios":"Running a build with jib.extensions configured (e.g. jib-spring-boot or jib-quarkus) where the extension class throws an exception, cannot find expected project files, or fails its own internal logic.","commonSituations":"jib-spring-boot extension failing on a non-standard Spring Boot project layout; extension/Jib version mismatch; custom extension code throwing during onExecute; snapshot/provided classes not found.","solutions":["Read the extension class name and inner message to identify which extension failed and why.","Fix the root cause in the extension's input (project layout, files) or update the extension to a compatible version.","Disable the <extensions> configuration temporarily to confirm the base build works, then re-enable incrementally."],"exampleFix":"// before\n<extensions>\n  <extension><implementation>com.example.BrokenExt</implementation></extension>\n</extensions>\n// after\n<!-- fix or remove the failing extension implementation -->\n<extensions>\n  <extension><implementation>com.google.cloud.tools.jib.maven.extension.springboot.JibSpringBootExtension</implementation></extension>\n</extensions>","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"catch (MojoExecutionException e) {\n  if (e.getMessage().startsWith(\"error running extension\")) {\n    System.err.println(\"Extension failed: \" + e.getMessage() + \"; cause: \" + e.getCause());\n    e.getCause().printStackTrace();\n  }\n}","preventionTips":["Pin extension versions compatible with your jib-maven-plugin version","Test the extension-enabled build locally before CI","Keep extension inputs (project layout, files) standard; custom extension code should validate its own assumptions early","Inspect the cause chain for the true failure point"],"tags":["maven","jib","extensions","plugin-execution"],"backgroundTag":"plugin-execution-failed","analyzedSha":"fb949e2676afbbd7dd7a1ef61e20251931325654","analyzedAt":"2026-09-06T14:04:09.491Z","contentChangedAt":"2026-09-06T14:04:09.491Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}