maven项目多工程结构良好体验

原创 2018年01月13日 19:52:50

       在项目开发工程中,根据业务功能不同,会划分功能模块,需要建立多个工程。不同工程可能由不同的人来开发,可能会引用到相同组件的不同版本。随着项目推进,存在需要版本分支的需求。那我们要怎么把maven用好,方便管理呢?

        针对以上需求,我大致整理了一下,在实际项目开发过程中主要存在以下3个问题:

        1.源代码封版本,到了某个阶段,提交一个相对稳定的版本,根据版本规划,存在多版本同步开发或者运维。希望能够方便的修改整个产品的源码版本号,不用每一个组件工程都去修改。

        2.组件的版本号提升。多个项目之间存在依赖关系,被依赖组件会根据版本规划存在多个不同版本号。希望能够方便的修改整个产品的版本号,不用每一个组件工程都去修改。

        3.各个组件可能存在引用相同第三方组件不同版本号的情况。需要规范同一产品依赖组件版本号。

        针对以上3个问题,我们应该怎么建立组件的工程呢?

        按照maven规范建立工程及模块。通俗说就是父子工程。

        整个产品建立一个父工程,命名为XXX-parent,类型为pom工程。其他业务组件继承该工程,定义为模块工程。在父工程的pom中通过<version>标签去定义版本。因为父子工程结构,子工程就自动继承了版本号。通过修改父工程pom的版本号,发布后,就简单的实现了组件库中不同版本组件的入库。解决了问题2.

        因为是父子工程的结构,子工程代码是在父工程的下级目录,源代码提交版本库后。可以在父工程做版本分支,不管有多少个子工程,整个项目一下就实现了版本的分支(标记)功能。解决了问题1。

        在父工程pom中定义<dependencyManagement>标签,子工程如果引用了对应的组件,则不能指定版本号。版本号为父工程中指定的版本号。这样多个子工程引用了同一个组件,则版本无法自定义,由父工程中指定版本的组件决定。解决了问题3。

        后续将单独写文章举例。


MAVEN创建多模块项目(水平与树形结构)

很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。 这次写的内容主要就是使用MAVEN创建多模块的...
  • u012909091
  • u012909091
  • 2016-11-01 23:09:08
  • 4526

Maven多模块布局实例详解

一、开场白 使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨、规范、敏捷、方便的特性。 如果你懂Maven或许看过Juven翻译的《Maven权威指南》; 发个牢骚...
  • gebitan505
  • gebitan505
  • 2016-07-08 16:14:46
  • 3235

<em>maven</em>多级子模块示例

<em>MAVEN</em>创建多模块项目(<em>水平与树形结构</em>) Verilog子模块调用教程 立即下载 上传者: Lang_Billow 时间: 2014-11-23 综合评分: 0 积分/C币:12 <em>maven</em> 简单示例+...
  • 2018年04月06日 00:00

标准的maven项目的目录结构

说明:    1.后台服务模块相关的代码放到Service模块中,所有前台代码放到Webapp模块中。    2.所有的配置文件放到Service模块的resource模块中。...
  • m0_37341187
  • m0_37341187
  • 2018-01-15 21:16:58
  • 222

良好的用户体验都有哪些特点?

对于产品经理来说,一个产品的用户体验关系到一个产品是否能被用户所接受,那什么是好的用户体验?可能你我心中都有对用户体验的一丝丝概念,但并不能清楚的将其说明。本文总结了关于良好用户体验的3个特点,并分享...
  • qq_32506555
  • qq_32506555
  • 2017-08-08 00:04:10
  • 341

MAVEN创建多模块项目(水平与树形结构)

很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。         这次写的内容主要就是使用...
  • qq_34629352
  • qq_34629352
  • 2017-03-22 10:46:16
  • 355

maven下构建项目结构详解

Maven2下的非web项目 1. 初始化Maven2环境 下载页面:http://maven.apache.org/download.html 2. 配置环境变量,JAVA_HOME,M2...
  • foxhlc
  • foxhlc
  • 2013-03-27 14:42:45
  • 16774

maven项目eclipse目录结构浅析

使用maven管理java web项目时,我们往往会被eclipse上展示的目录结构所迷惑,明明有个Java Resources包,为啥又冒出个src文件夹呢? 我们先看看整体的目录结构: ...
  • jiangzhongwei_
  • jiangzhongwei_
  • 2016-11-08 11:14:48
  • 8097

maven(三):maven项目结构及其运行机制

在上一篇中讲了如何创建maven项目,现在回到那个项目 项目结构 src/main/java:java代码目录 src/main/resources:资源目录,比如spring.xml文件,...
  • wangb_java
  • wangb_java
  • 2017-01-02 09:30:29
  • 6605

MAVEN项目标准目录结构

1.标准目录结构: src   -main       –bin 脚本库       –java java源代码文件       –resources 资源库,会自动复制到class...
  • lengyue_wy
  • lengyue_wy
  • 2011-08-25 15:35:32
  • 122200
收藏助手
不良信息举报
您举报文章:maven项目多工程结构良好体验
举报原因:
原因补充:

(最多只允许输入30个字)