2.2. 使用多个模块运行 Maven 插件
要在带有多个模块的项目中使用 Maven 插件,请将配置放在父的 pom.xml
中。在执行 Maven 插件期间,将生成单个报告,其中包含父模块和任何子模块的分析。
注意
强烈建议在多模块项目中将 inherited
设置为 false;否则,当每个子编译时,Maven 插件将会在编译每个子时运行,从而导致对子模块进行多个 Maven 插件执行。将 inherited
设置为 false 时,每个项目中都分析一次,并大大减少了启动时间。
若要在带有多个模块的项目中运行 Maven 插件,请执行以下步骤:
在父项目的
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 提取副本的路径。此属性为可选,但建议以提高性能。上面的示例演示了一组推荐的参数。
构建父项目。在构建过程中,Maven 插件针对项目中的所有子对象运行,而不进行进一步配置。
$ mvn clean install
- 完成后,您可以访问生成的报告。此报告包含父项和所有子项的分析。