有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

依赖链开始时的java Maven插件执行

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

pom。xml

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

B波姆。xml

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

C波姆。xml

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

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

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


共 (2) 个答案

  1. # 1 楼答案

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

    现在考虑你有一个插件,你想在所有的项目中作为一个链来执行,你必须在验证阶段

    之后使用{a1}并绑定你的插件的执行。

    然后调用mvn validate,这样它的生命周期将只进入一个阶段(即验证),它将像一个链一样调用你的插件

  2. # 2 楼答案

    一种方法是(如果你还没有尝试过的话)保持根pom。xml包含以下内容: ... ...

    <packaging>pom</packaging>
       <modules>
         <module>A</module>
         <module>B</module>
         <module>C</module>
       </modules>
     ....
     ...
    

    这将像链条一样“起作用”