2.2. 使用多个模块运行 Maven 插件


要在带有多个模块的项目中使用 Maven 插件,请将配置放在父的 pom.xml 中。在执行 Maven 插件期间,将生成单个报告,其中包含父模块和任何子模块的分析。

注意

强烈建议在多模块项目中将 inherited 设置为 false;否则,当每个子编译时,Maven 插件将会在编译每个子时运行,从而导致对子模块进行多个 Maven 插件执行。将 inherited 设置为 false 时,每个项目中都分析一次,并大大减少了启动时间。

若要在带有多个模块的项目中运行 Maven 插件,请执行以下步骤:

  1. 在父项目的 pom.xml 中包含以下插件。以下是父模块的 pom.xml 示例。

    <plugin>
        <groupId>org.jboss.windup.plugin</groupId>
        <artifactId>mtr-maven-plugin</artifactId>
        <version>1.0.2.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
    指定迁移目标。在配置中,必须至少提供一个迁移目标。

    这个 pom.xml 文件与以下属性中的默认设置不同:

    • inherited :在插件级别上定义,此属性指示是否应在子模块中使用此配置。设置为 false 以提高性能。
    • input :指定包含要分析的项目的目录的路径。此属性默认为 {project.basedir}/src/main,并且应该定义父项目没有要分析的源代码。
    • windupHome :MTR CLI 提取副本的路径。此属性为可选,但建议以提高性能。

      上面的示例演示了一组推荐的参数。

  2. 构建父项目。在构建过程中,Maven 插件针对项目中的所有子对象运行,而不进行进一步配置。

    $ mvn clean install
  3. 完成后,您可以访问生成的报告。此报告包含父项和所有子项的分析。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.