【问题标题】:how maven decide what typeof project build and how to control multiple modules in single maven project?maven 如何决定构建什么类型的项目以及如何控制单个 maven 项目中的多个模块?
【发布时间】:2020-01-25 01:53:42
【问题描述】:

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

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

这些都是我的问题

【问题讨论】:

  • 1) 在 POM 文件中指定。示例<packaging>war</packaging>。 2) 这个问题是题外话。
  • 对于您的第二部分,这称为多模块构建,它可以处理这些情况......

标签: java maven maven-3


【解决方案1】:

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

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

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

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

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

在上面的sn-p中my-project-one指的是这个“my-project-one”模块的POM文件。当您构建 my-service 时,它的关联模块 my-project-onemy-project-two 将被构建。

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

【讨论】:

  • 永远不要为模块使用配置文件blog.soebes.de/blog/2013/11/09/…
  • @khmarbaise 感谢您指出这一点。我已经相应地编辑了我的答案。
  • 另一个提示是在你的 pom 中有&lt;module&gt;../..&lt;/module&gt; 这也是一种气味,因为它表明你的目录结构不代表你的真实项目结构......
猜你喜欢
  • 2014-05-22
  • 2012-07-28
  • 2012-05-26
  • 2021-03-23
  • 1970-01-01
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多