Maven : Multimodule projects and versioning

标签 maven versioning multi-module

使用 Maven 进行软件版本控制和多模块项目的最佳实践是什么?

我的意思是,当我使用 Maven 创建一个多模块项目时,版本控制的最佳方法是什么?为所有模块使用一个版本(在顶级项目中定义)?为每个模块使用一个版本(在每个模块的 POM 中定义)?我还缺少另一种方法吗?每种方法的优缺点是什么?

一般来说,不同的模块是否一起发布(可能共享相同的版本号)?

谢谢

最佳答案

老实说,这取决于您想做什么。创建多模块项目有多种原因,其中之一是您只需要部署已更改的内容而不是所有模块。

可以这样想:如果您有一个非多模块项目,并且您只需要更改服务层中的一行,那么您必须重新构建整个项目并再次部署所有代码......即使只有您的服务层将发生变化。

使用多模块项目,您可以重新生成项目并仅部署更改的内容……您的服务。这降低了风险,并且您确信只有您的服务模块发生了变化。

使用我未在此处列出的多模块项目还有很多好处,但是不保持模块的版本号同步肯定有很大的好处。

构建项目时,请考虑将其部署到一个存储库,该存储库将所有兼容的 jar 保存在一起以进行构建(每个构建创建一个具有最父级 pom 版本号的新文件夹)。这样,您不需要保留有关哪些 jar 兼容的文档……它们都只是与内部版本号一起部署。

关于Maven : Multimodule projects and versioning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8330093/

相关文章:

spring - Maven Multi Module坚持在业务模块中复制datasource application.properties

java - 无法在 xd-singlenode 上使用 spring-data-jpa 部署 spring-xd 处理器模块

java - 如何使用 Maven Javadoc 插件正确链接到模块化依赖项?

java - Maven 使用子 POM 中的子路径解析哪些 URL?

git - 使用 git 信息生成 git.properties 文件

wix - 在版本号方案方面需要帮助

xml - AndroidManifest.xml 文件 <manifest> versionCode 属性

git - 如何获得git标签的总数

Maven 3 多模块构建尝试在多模块 POM 本身上运行目标

java - 使用 minify-maven-plugin 缩小前端