{"record":{"id":"ea3cd084ca25e4e1","repo":"GoogleContainerTools/jib","slug":"computing-the-entrypoint-is-currently-not-supporte","errorCode":null,"errorMessage":"Computing the entrypoint is currently not supported.","messagePattern":"Computing the entrypoint is currently not supported\\.","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"jib-cli/src/main/java/com/google/cloud/tools/jib/cli/war/StandardWarExplodedProcessor.java","lineNumber":122,"sourceCode":"    if (!nonSnapshotLayer.getEntries().isEmpty()) {\n      layers.add(nonSnapshotLayer);\n    }\n    if (!snapshotLayer.getEntries().isEmpty()) {\n      layers.add(snapshotLayer);\n    }\n    if (!resourcesLayer.getEntries().isEmpty()) {\n      layers.add(resourcesLayer);\n    }\n    if (!classesLayer.getEntries().isEmpty()) {\n      layers.add(classesLayer);\n    }\n\n    return layers;\n  }\n\n  @Override\n  public ImmutableList<String> computeEntrypoint(List<String> jvmFlags) {\n    throw new UnsupportedOperationException(\"Computing the entrypoint is currently not supported.\");\n  }\n\n  @Override\n  public Integer getJavaVersion() {\n    throw new UnsupportedOperationException(\n        \"Getting the java version from a WAR file is currently not supported.\");\n  }\n}\n","sourceCodeStart":104,"sourceCodeEnd":131,"githubUrl":"https://github.com/GoogleContainerTools/jib/blob/fb949e2676afbbd7dd7a1ef61e20251931325654/jib-cli/src/main/java/com/google/cloud/tools/jib/cli/war/StandardWarExplodedProcessor.java#L104-L131","documentation":"StandardWarExplodedProcessor represents an exploded WAR, which must be deployed into a servlet container rather than run via `java -jar`. Its computeEntrypoint is intentionally unimplemented and always throws UnsupportedOperationException.","triggerScenarios":"Any call to computeEntrypoint on an exploded-WAR processor — e.g. Jib's JAR/WAR processing pipeline invoking entrypoint computation for a WAR input.","commonSituations":"Pointing Jib CLI/Core at a WAR file or exploded WAR directory expecting Java-app entrypoint handling; using WAR inputs with flows that assume JAR semantics.","solutions":["Deploy the WAR by using a servlet-container base image (Tomcat/Jetty) and copying the WAR into the deploy directory instead of relying on Jib's JAR entrypoint computation","Use a Jib extension/base-image approach that supplies an explicit entrypoint","Convert the project to an executable JAR (spring-boot executable jar or similar) if a standalone entrypoint is required"],"exampleFix":"// before\nContainerizer.to(RegistryImage.named(\"img\")).setApplication(war)  // WAR treated like JAR\n// after\nUse base image tomcat:9 and addEntrypoint/ WAR copied to /usr/local/tomcat/webapps","handlingStrategy":"validation","validationCode":"if (app instanceof WarProcessor || appFile.getName().endsWith(\".war\")) { /* use servlet container base image; do not call computeEntrypoint */ }","typeGuard":"boolean supportsEntrypoint(JibProcessor p) { return !(p instanceof StandardWarExplodedProcessor); }","tryCatchPattern":"try { ep = processor.computeEntrypoint(flags); } catch (UnsupportedOperationException e) { ep = defaultServletContainerEntrypoint; }","preventionTips":["Use Tomcat/Jetty base images for WAR deployments","Branch on application type before invoking JAR-specific APIs","Prefer executable JAR packaging when standalone runtime is needed"],"tags":["jib","war","entrypoint","unsupported"],"backgroundTag":"operation-not-supported","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"}