Contact Free trial Login

Updating Workspaces

Anypoint Studio 7.2 and later simplifies the configuration of the mule-artifact.json file. When packaging your Mule application, this file is used to identify the application’s classloader configuration and settings, and the minimum required Mule runtime engine version required to run your application.

Anypoint Studio includes a new version of the Mule Maven Plugin that can automatically infer some of this required metadata. This makes it easier for you to keep track of all the declarations you need to make when exporting resources.

mule-artifact.json in 7.1.x mule-artifact.json in 7.2 and later
{
  "configs": [
    "ch-usage-sync.xml"
  ],
  "redeploymentEnabled": true,
  "name": "ch-usage-sync",
  "minMuleVersion": "4.0.0",
  "requiredProduct": "MULE_EE",
  "classLoaderModelLoaderDescriptor": {
    "id": "mule",
    "attributes": {
      "exportedResources": []
    }
  },
  "bundleDescriptorLoader": {
    "id": "mule",
    "attributes": {}
  }
}
{
  "minMuleVersion": "4.0.0",
}

Note that this simplification is meant to reduce the number of declarations you need to monitor during development. A fully configured mule-artifact.json file is still required by Mule runtime engine when executing the packaged application. You can find the generated mule-artifact.json file inside the target directory after packaging.

The plugin inspects the metadata declared in mule-artifact.json. If there is a value that is not declared, the plugin infers it from the application code before packaging. If other metadata is declared, the plugin uses that information to package the application.

If you update to the latest plugin and want to keep your old descriptor files, you’ll need to manually monitor your descriptor metadata.

Upgrading from Studio 7.1.x to 7.2 and later

When you open Anypoint Studio 7.2 and use a workspace created with previous versions, Studio pops up a note:

this 766bb

Note that Studio lists only the projects whose configurations need updating; it does not list closed projects.

Clicking Perform update enables Studio to:

  • Update the Mule Maven Plugin version in the pom.xml file of your projects listed in this dialog.

  • Remove all declarations from the mule-artifact.json files of the same listed projects.
    This process overwrites your existing mule-artifact.json file. If you have other declarations in mule-artifact.json that you want to preserve (for example, secureProperties, redeploymentEnabled, and so on), you should back up those files outside of your workspace, perform the migration, and then restore your old mule-artifact.json files.

Do not to preserve the following declarations:

  • configs

  • name

  • requiredProduct

  • classLoaderModelLoaderDescriptor

  • bundleDescriptorLoader

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub