管理多模块Maven项目的最佳方法

时间:2019-11-05 12:46:23

标签: maven maven-3 gitlab-ci

我要清理当前正在处理的项目中的pom。我认为Poms是由一个并不真正知道他在做什么的人写的。

这是一个多模块项目,模块树很大而且很复杂。也许这不是结​​构的最佳表示,但看起来像这样:

        
  • root /
  •     
              
    • pom.xml
    •         
    • 常见/             
                        
      • parent /
        • pom.xml
      •                 
      • entities /
        • pom.xml
      •             
              
    •         
    • root-child-1 /         
                    
      • pom.xml
      •             
      • child-1_1 /
        • pom.xml
      •             
      • child-1_2 /
        • pom.xml
      •         
              
    •         
    • root-child-2 /             
    • pom.xml
    •             
                        
      • child-2_1 /
        • pom.xml
      •                 
      • child-2_2 /
        • pom.xml
      •             
                   

好,因此root / pom.xml定义了项目中的所有根模块:

  • root / commons / parent
  • 根/公共/实体
  • root / root-child-1
  • root / root-child-2

root / commons / parent / pom.xml是所有根子级和实体的父级,并且此pom还定义了模块版本的属性,例如:

  • <root.root-child.1.version>1.1</root.root-child.1>
    这些属性用于模块poms中,以定义工件的版本和父版本。

此外,模块彼此依赖。

当我们更改代码中的某些内容时,我们会手动增加进行更改并可以正常工作的模块的版本。

当前,我正在配置gitlab-ci以构建和打包该应用程序的发行版,并且我想尽可能地实现自动化。

目标是能够创建管道,以检测模块中的更改,增加其版本并更新其他模块中的依赖关系。

我认为为了完成上述任务,第一件事是更改pom的配置,但我不知道我应该朝哪个方向前进。在我之前,有两个人试图解决这个问题,但现在却放弃了。

有人可以给我一些指导或最佳做法以解决我的问题吗?

0 个答案:

没有答案