【发布时间】:2016-11-28 05:57:10
【问题描述】:
为了在很多项目中使用同一个maven插件的配置,我尝试在一个核心项目中定义这个配置,然后导入到其他项目中。
我的解决方案基于this discussion,我使用了Maven Tile Plugin,并按照文档中说明的步骤进行操作。
-
核心项目中的配置定义:
1) pom.xml:
<build> <plugins> <plugin> <groupId>io.repaint.maven</groupId> <artifactId>tiles-maven-plugin</artifactId> <version>2.8</version> <extensions>true</extensions> <configuration> <filtering>true</filtering> </configuration> </plugin> </plugins> </build>2) tile.xml:
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <!-- .... --> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.19.1</version> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <configuration> <!-- .... --> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>3) 构建核心项目
在目标项目中导入配置:
在父 POM 中:
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.8</version>
<configuration>
<buildSmells>pluginmanagement</buildSmells>
<tiles>
<tile>groupId:coreProjectId:1.1.0</tile>
</tiles>
</configuration>
</plugin>
据我了解,使用 tile 插件导入核心项目必须允许使用为 maven 故障安全插件定义的配置。问题是故障安全插件的验证目标不是那样工作的(没有使用'mvn verify'运行集成测试)
任何关于定义 maven tile 插件或使用任何其他方法来重用核心配置的建议都会有所帮助。
感谢您的帮助。
【问题讨论】: