首页 > 解决方案 > maven 如何决定构建什么类型的项目以及如何控制单个 maven 项目中的多个模块?

问题描述

好的,这个问题与编码问题无关,我想要最好的资源来学习以下两件事,你能帮我吗?

  1. 我想知道当我们运行 build 输出时,maven 如何决定他构建的项目类型是 .war 还是 .jar 文件,但它如何决定这是 war 项目还是 jar 项目
  2. 我还需要参考来了解如何在单个项目中管理多个 Maven 项目,这意味着当我构建父项目时,所有子项目都将包含在其中

所以这些是我的问题

标签: javamavenmaven-3

解决方案


对于您的第一个问题,Maven 通过查看<package>标签来决定使用什么包装。举个例子

<groupId>com.example</groupId>
<artifactId>my-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

这会将项目打包为war文件。

编辑:这是一个错误的 方式对于你的第二个问题,可能是你正在寻找的是profile在 maven 中。举个例子

   <profiles>
      <profile>
        <id>my-service</id>
        <modules>
            <module>../my-service-one</module>
            <module>../my-service-two</module>
        </modules>
      </profile>
  </profile>

在上面的代码片段my-project-one中是指POM这个“my-project-one”模块的文件。当您构建时my-service,它的相关模块my-project-onemy-project-two被构建。

接受的 方式您可以使用Multi-Module ProjectMaven 中的结构来实现您的第二个目标。


推荐阅读