【问题标题】:Running multiple pom files from one command从一个命令运行多个 pom 文件
【发布时间】:2021-12-14 02:23:39
【问题描述】:

所以我的项目有 3 个模块但没有父 pom 文件。我可以一个一个地手动运行它们,但我正在寻找一种使用单个 mvn 命令运行所有这 3 个 pom 文件的方法,但没有运气。到目前为止,我已经尝试了几种不同的组合,但没有为 ex 工作过 -

mvn -f module1/pom.xml -f module2/pom.xml -f module3/pom.xml clean install

但它只运行第一个 pom 文件,而不是全部 3 个。也尝试使用“呼叫”,但没有奏效。有什么想法吗?

【问题讨论】:

标签: java maven mvn-repo


【解决方案1】:

没有。

如果您总是想一起构建这些项目,请将它们放入一个多模块项目并从该项目的主 POM 构建它。

【讨论】:

    【解决方案2】:

    是否有特定的理由尝试在一个命令中运行它们?如果归结为它们相互依赖,您可以找到需要先运行的 pom 并添加类似这样的内容

    你的第一个pom

    <project>
      <modelVersion>4.0.0</modelVersion>
     
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1</version>
      <packaging>pom</packaging>
     
      <modules>
        <module>SecondPomFile</module> <---------------
        <module>ThirdPomFile</module> <---------------
      </modules>
    </project>
    

    第二个pom

    <project>
      <modelVersion>4.0.0</modelVersion>
     
      <groupId>com.mycompany.app</groupId>
      <artifactId>SecondPomFile</artifactId> <---------------
      <version>1</version>
    </project>
    

    第三个pom

    <project>
      <modelVersion>4.0.0</modelVersion>
     
      <groupId>com.mycompany.app</groupId>
      <artifactId>ThirdPomFile</artifactId> <---------------
      <version>1</version>
    </project>
    

    然后像mvn -f pom.xml一样运行它

    因为你添加了

      <modules>
        <module>SecondPomFile</module> <---------------
        <module>ThirdPomFile</module> <---------------
      </modules>
    

    您指定的名称然后指向其他 pom,它们在第一个运行时运行

    【讨论】:

    • Re "找到需要先运行的p​​om" – 模块构建顺序由Maven reactor计算。 &lt;module&gt; 声明的顺序只是五个排序标准中的最后一个。
    猜你喜欢
    • 1970-01-01
    • 2021-08-16
    • 2016-07-18
    • 1970-01-01
    • 2018-06-29
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多