이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 2. Getting started


2.1. Running the Maven Plugin

The Maven plugin is run by including a reference to the plugin inside your application’s pom.xml file. When the application is built, the Maven plugin is run and generates the reports for analysis.

Prerequisites

  • Java Development Kit (JDK) installed.

    MTR supports the following JDKs:

    • OpenJDK 11
    • Oracle JDK 11
  • 8 GB RAM
  • macOS installation: the value of maxproc must be 2048 or greater.
  • The Maven settings.xml file configured to direct Maven to use the JBoss EAP Maven repository.
  • To run the Maven plugin on OpenJDK 17 or Oracle JDK17, you first need to set MAVEN_OPTS on the command line by running the following command:

    export MAVEN_OPTS="--add-modules=java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED"

Procedure

  1. Add the following <plugin> to your application’s pom.xml file:

    [...]
    <plugin>
        <groupId>org.jboss.windup.plugin</groupId>
        <artifactId>mtr-maven-plugin</artifactId>
        <version>1.2.7.GA-redhat-00001</version>
        <executions>
            <execution>
                <id>run-windup</id>
                <phase>package</phase>
                <goals>
                    <goal>windup</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <target>eap:7</target> 1
        </configuration>
    </plugin>
    [...]
    1
    Specify a migration target. At least one migration target must be supplied within the configuration.
  2. Add --add-modules=java.se to the MAVEN_OPTS environment variable.

    export MAVEN_OPTS=--add-modules=java.se
  3. Build the project:

    $ mvn clean install

    You can access the generated reports.

2.2. Running the Maven Plugin with multiple modules

To use the Maven plugin in a project with multiple modules, place the configuration inside the parent’s pom.xml. The Maven plugin will generate a single report that contains the analysis for the parent and any child modules.

Note

It is strongly recommended to set inherited to false in multi-module projects; otherwise, the Maven plugin will run when each child is compiled, resulting in multiple executions of the Maven plugin against the child modules. Setting inherited to false results in each project being analyzed a single time and drastically decreased run times.

To run the Maven plugin in a project with multiple modules, perform the following steps.

  1. Include the following plugin inside the parent project’s pom.xml. The following is a sample pom.xml for a parent module.

    <plugin>
        <groupId>org.jboss.windup.plugin</groupId>
        <artifactId>mtr-maven-plugin</artifactId>
        <version>1.2.7.GA-redhat-00001</version>
        <inherited>false</inherited>
        <executions>
            <execution>
                <id>run-windup</id>
                <phase>package</phase>
                <goals>
                    <goal>windup</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <input>${project.basedir}</input>
            <target>eap:7</target> 1
            <windupHome>>/PATH/TO/CLI/<</windupHome>
        </configuration>
    </plugin>
    1
    Specify a migration target. At least one migration target must be supplied within the configuration.

    This pom.xml file differs from the default in the following attributes:

    • inherited: Defined at the plugin level, this attribute indicates whether or not this configuration should be used in child modules. Set to false for performance improvements.
    • input: Specifies the path to the directory containing the projects to be analyzed. This attribute defaults to {project.basedir}/src/main, and should be defined if the parent project does not have source code to analyze.
    • windupHome: A path to an extracted copy of the MTR CLI. This attribute is optional, but is recommended as a performance improvement.

      The above example demonstrates a set of recommended arguments.

  2. Build the parent project. During the build process, the Maven plugin runs against all children in the project without further configuration.

    $ mvn clean install
  3. Once completed, you can access the generated reports. This report contains the analysis for the parent and all children.

2.3. Accessing the report

When you run Migration Toolkit for Runtimes, the report is generated in the OUTPUT_REPORT_DIRECTORY that you specify using the outputDirectory argument in the pom.xml. Upon completion of the build, you will see the following message in the build log.

Windup report created: <OUTPUT_REPORT_DIRECTORY>/index.html

The output directory contains the following files and subdirectories:

<OUTPUT_REPORT_DIRECTORY>/
├── index.html          // Landing page for the report
├── <EXPORT_FILE>.csv     // Optional export of data in CSV format
├── graph/              // Generated graphs used for indexing
├── reports/            // Generated HTML reports
├── stats/              // Performance statistics

See the Reviewing the reports section of the MTR CLI Guide for information on the MTR reports and how to use them to assess your migration or modernization effort.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.