Chapter 4. Analyzing applications written in languages other than Java with MTA command-line interface


Starting from Migration Toolkit for Applications (MTA) version 7.1.0, you can run the application analysis on applications written in languages other than Java. You can perform the analysis either of the following ways:

  • Select a supported language provider to run the analysis for.
  • Overwrite the existing supported language provider with your own unsupported language provider, and then run the analysis on it.
Important

Analyzing applications written in languages other than Java is only possible in container mode. You can use the containerless CLI only for Java applications. For more information, see Analyzing an application in containerless mode.

You can explicitly set a supported language provider according to your application’s language to run the analysis for.

Prerequisites

  • You have the latest version of MTA CLI installed on your system.

Procedure

  1. List language providers supported for the analysis:

    $ mta-cli analyze --list-providers
    Copy to Clipboard Toggle word wrap
  2. Run the application analysis for the selected language provider:

    $ mta-cli analyze --input <path_to_input> --output <path_to_output> --provider <language_provider> --rules <path_to_custom_rules>
    Copy to Clipboard Toggle word wrap
    Important

    Note that if you do not set the --provider option, the analysis might fail because it detects unsupported providers. The analysis will complete without --provider only if all discovered providers are supported.

You can run the analysis for an unsupported language provider. To do so, you must overwrite the existing supported language provider with your own unsupported language provider.

Important

You must create a configuration file for your unsupported language provider before overriding the supported provider.

Prerequisites

  • You created a configuration file for your unsupported language provider, for example:

    [
    {
    "name": "java",
    "address": "localhost:14651"
    "initConfig": [{
    "location": "<java-app-path>",
    "providerSpecificConfig": {
    "bundles": "<bundle-path>",
    "jvmMaxMem": "2G",
    },
    "analysisMode": "source-only"
    }]
    }
    ]
    Copy to Clipboard Toggle word wrap

Procedure

  • Override an existing supported language provider with your unsupported provider and run the analysis:

    $ mta-cli analyze --provider-override <path_to_configuration_file> --output <path_to_output> --rules <path_to_custom_rules>
    Copy to Clipboard Toggle word wrap
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat