问题
在部门一些项目实践Maven构建反应堆的时候,发现部分项目因为版本号用变量管理的问题导致构建失败。具体情况为:项目组为了子模块与父项目的版本号保持一致,将所有子模块的版本号定义为变量,变量的值则只在父项目的pom文件中定义,这样导致的问题是指定子模块进行构建时,因此获取不到版本号这个变量的值(因为并不构建父项目),因此导致相关依赖无法获取到而构建失败。
解决办法
解决办法是将子模块中的版本号均修改为常量,Maven推荐实践版本号也应该使用常量,至于子模块和父项目的版本一致性和管理的问题,可以采用Maven提供的Version插件实现。命令行为:
|
|
通过这个命令行,可以统一对父项目和子模块进行版本号更新,并保持一致。