Contact Us 1-800-596-4880

Application Descriptor Reference (mule-artifact.json)

Every Mule application, domain, and policy includes an application descriptor file, mule-artifact.json, at the root of the artifact. This file declares metadata that the Mule runtime engine uses to load, validate, and run the artifact, independent of the XML configuration described in Mule Configuration File.

This page documents the fields of mule-artifact.json for a Mule application. Anypoint Studio and Anypoint Code Builder generate and maintain this file automatically. You typically read or hand-edit it only when troubleshooting a deployment issue.

Example

Example mule-artifact.json file for an application
{
  "name": "retail-api",
  "minMuleVersion": "4.9.0",
  "requiredProduct": "MULE_EE",
  "configs": [
    "http-api.xml", "jms-messaging-api.xml", "monitoring-tools.xml", "core-functionality.xml"
  ],
  "redeploymentEnabled": true,
  "secureProperties": [
    "secure.password"
  ],
  "supportedJavaVersions": [
    "17"
  ],
  "classLoaderModelLoaderDescriptor": {
    "id": "mule",
    "attributes": {
      "exportedResources": []
    }
  },
  "bundleDescriptorLoader": {
    "id": "mule",
    "attributes": {}
  }
}

Fields

Field Required Description

name

Yes

The name of the artifact.

minMuleVersion

Yes

The minimum Mule runtime feature set that the artifact requires, expressed as a full major.minor.patch version (for example 4.9.0). See Understanding minMuleVersion for what value to use and how the runtime and other tools check it.

requiredProduct

Yes

The target product for the artifact. MULE for Mule Kernel (CE) or MULE_EE for Mule runtime EE.

classLoaderModelLoaderDescriptor

Yes

Describes how to build the class loader for the artifact. Contains an id (typically mule) and an attributes map, for example exportedPackages, exportedResources, privilegedExportedPackages, and privilegedArtifactIds.

bundleDescriptorLoader

Yes

Describes how to resolve the artifact’s bundle descriptor (its Maven coordinates). Contains an id (typically mule) and an attributes map.

configs

No

The list of configuration XML files that compose the artifact. See Declaring Multiple Configurations.

redeploymentEnabled

No

Whether the artifact can be hot-redeployed. Defaults to true.

secureProperties

No

A list of configuration property names whose values are masked wherever the runtime would otherwise expose configuration (for example, in logs).

supportedJavaVersions

No

The JDK major versions that the artifact supports (for example, ["17", "21"]).

logConfigFile

No

The path, relative to the artifact root, to a custom Log4j2 configuration file for the artifact.

domain

No, applications only

The name of the Mule domain that this application belongs to. See Mule Domains.