0

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

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

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

4

2 回答 2

2

不。

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

于 2021-10-29T06:30:39.713 回答
-1

是否有特定的理由尝试在一个命令中运行它们?如果归结为它们相互依赖,您可以找到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,它们在第一个运行时运行

于 2021-10-29T06:12:30.640 回答