java - Maven 插件在依赖链开始处执行

标签 java maven maven-plugin pom.xml multi-module

我有三个 Maven 项目:A -> B -> C。为了更好地解释情况,我显示了伪 pom.xml:

pom.xml

<groupId>X</groupId>
<artifactId>A</artifactId>
<version>1</version>

B pom.xml

<groupId>X</groupId>
<artifactId>B</artifactId>
<version>1.5</version>
<dependency>
  <groupId>X</groupId>
  <artifactId>A</artifactId>
  <version>1</version>
</dependency>

C pom.xml

<groupId>X</groupId>
<artifactId>C</artifactId>
<version>2.5</version>
<dependency>
  <groupId>X</groupId>
  <artifactId>B</artifactId>
  <version>1.5</version>
</dependency>

我想只在A项目中执行maven插件,然后在其他项目(B和C)中自动执行,就像链一样,当我在B中执行时,在C中也将是自动的。问题是在A项目中没有关于B的信息(我认为)。改变pom的结构是极端的。

你知道怎么做吗?我将不胜感激任何提示。

最佳答案

maven 插件的执行与 maven 构建生命周期的特定阶段相关,例如,surefire 插件默认与 test 阶段相关

现在考虑您有一个插件想要在所有项目中作为链执行,您必须 create a separate build profile并在验证阶段后绑定(bind)您的插件执行

并调用mvn validate,因此它的生命周期将只进入一个阶段(即验证),并且它将像链一样调用您的插件

关于java - Maven 插件在依赖链开始处执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24764676/

相关文章:

java - 在不知道类型的情况下在Java中创建集合?

Java反射适当性

java - 为什么我的 play 框架构建有时会获取 oss-parent 依赖项?

maven - 使用 Maven 禁用 TestNG 的 HTML 报告

java - Liquibase maven 插件 - 设置日志记录级别

maven - 在war中将Spring Boot APP部署到外部tomcat

java - PMD 自定义规则集 - 也许您拼错了规则名称?

java - 忘记 Java HTML 框架的名称

java - 在后台创建 Android 地理围栏而不崩溃

java - 管理项目依赖关系