quarkusio/quarkus · error · BuildException

Please config the <image> of <runtime> in pom.xml.

Error message

Please config the <image> of <runtime> in pom.xml.

What it means

Raised by AzureFunctionsDeployCommand.validateParameters when the runtime OS is set to docker but no container image is configured. Docker-based Azure Function deployment requires the image to deploy (configured via the runtime image setting in the azure-functions plugin configuration), and validation refuses to continue because the Azure Function App would have nothing to run.

Source

Thrown at extensions/azure-functions/deployment/src/main/java/io/quarkus/azure/functions/deployment/AzureFunctionsDeployCommand.java:223

        }
        // os
        if (StringUtils.isNotEmpty(config.runtime().os()) && OperatingSystem.fromString(config.runtime().os()) == null) {
            throw new BuildException(INVALID_OS);
        }
        // java version
        if (StringUtils.isNotEmpty(config.runtime().javaVersion())
                && !JAVA_VERSION_PATTERN.matcher(config.runtime().javaVersion()).matches()) {
            log.warn(format(EXPANDABLE_JAVA_VERSION_WARNING, config.runtime().javaVersion()));
        }
        // pricing tier
        if (config.pricingTier().isPresent() && StringUtils.isNotEmpty(config.pricingTier().orElse(null))
                && PricingTier.fromString(config.pricingTier().orElse(null)).isExpandedValue()) {
            log.warn(format(EXPANDABLE_PRICING_TIER_WARNING, config.pricingTier().orElse(null)));
        }
        // docker image
        if (OperatingSystem.fromString(config.runtime().os()) == OperatingSystem.DOCKER
                && StringUtils.isEmpty(config.runtime().image().orElse(null))) {
            throw new BuildException(EMPTY_IMAGE_NAME);
        }
    }

    protected static AzureAppService appServiceClient;

    protected static String subscriptionId;

    protected AzureAppService initAzureAppServiceClient(AzureFunctionsConfig config) throws BuildException {
        if (appServiceClient == null) {
            final Account account = loginAzure(config.auth());
            final List<Subscription> subscriptions = account.getSubscriptions();
            final String targetSubscriptionId = getTargetSubscriptionId(config.subscriptionId().orElse(null), subscriptions,
                    account.getSelectedSubscriptions());
            checkSubscription(subscriptions, targetSubscriptionId);
            com.microsoft.azure.toolkit.lib.Azure.az(AzureAccount.class).account()
                    .setSelectedSubscriptions(Collections.singletonList(targetSubscriptionId));
            appServiceClient = Azure.az(AzureAppService.class);
            printCurrentSubscription(appServiceClient);

View on GitHub (pinned to e1c734241f)

Solutions

  1. Configure the container image for the docker runtime in the azure-functions plugin configuration (runtime/image setting)
  2. Build and push the container image to a registry accessible by Azure before deploying
  3. Switch the OS setting to linux if a container deployment was not intended
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at extensions/azure-functions/deployment/src/main/java/io/quarkus/azure/functions/deployment/AzureFunctionsDeployCommand.java:223 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/4beb9bbc14f9efbd. Report an issue: GitHub.