@VisibleForTesting
  static String getDefaultBaseImage(ProjectProperties projectProperties)
      throws IncompatibleBaseImageJavaVersionException {
    if (projectProperties.isWarProject()) {
      return "jetty";
    }
    int javaVersion = projectProperties.getMajorJavaVersion();
    if (javaVersion <= 8) {
      return "eclipse-temurin:8-jre";
    } else if (javaVersion <= 11) {
      return "eclipse-temurin:11-jre";
    } else if (javaVersion <= 17) {
      return "eclipse-temurin:17-jre";
    } else if (javaVersion <= 21) {
      return "eclipse-temurin:21-jre";
    }
    throw new IncompatibleBaseImageJavaVersionException(21, javaVersion);
  }
Gets the suitable value for the base image. If the raw base image parameter is null, returns
{@code "jetty"} for WAR projects, or {@code "eclipse-temurin:{8|11|17}-jre"} for non-WAR.

@param projectProperties used for providing additional information
@return the base image
@throws IncompatibleBaseImageJavaVersionException when the Java version in the base image is
    incompatible with the Java version of the application to be containerized
jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/PluginConfigurationProcessor.java