java - maven 如何决定构建什么类型的项目以及如何控制单个 maven 项目中的多个模块?
问题描述
好的,这个问题与编码问题无关,我想要最好的资源来学习以下两件事,你能帮我吗?
- 我想知道当我们运行 build 输出时,maven 如何决定他构建的项目类型是 .war 还是 .jar 文件,但它如何决定这是 war 项目还是 jar 项目
- 我还需要参考来了解如何在单个项目中管理多个 Maven 项目,这意味着当我构建父项目时,所有子项目都将包含在其中
所以这些是我的问题
解决方案
对于您的第一个问题,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-one
会my-project-two
被构建。
接受的
方式您可以使用Multi-Module Project
Maven 中的结构来实现您的第二个目标。
推荐阅读
- javascript - 如何在下一个 js 中使用带有浅路由的 router.push?
- postgresql - 没有 ORDER BY 的窗口函数中保留的顺序
- automation - coq auto 说简单应用失败,但它手动工作
- java - 使用 JenkinsPipelineUnit 测试管道在脚本中导入时返回错误
- flutter - 防止某些项目在 Listview.builder 中刷新数据
- python - python - 如何在python的数据框中围绕另一列(动态)对列进行分组?
- javascript - 如何在 Javascript 中的 Regex x <= y 中使用逻辑运算符
- flutter - 在 Flutter 中无法使用 WebSocket 连接到 FastAPI。403禁止/代码1006
- css - 角材料表 - 列宽按字符串长度
- html - 如何同时在每个元素上激活 3 个不同的悬停?