• maven学习(一)


    项目重构之后,需要重新组织项目结构,因为考虑到已经用maven来替换ant执行build,因此干脆使用maven来组织项目结构。

    在maven中也有模块的概念,很好,这点正好和OSGi的理念切合。不过,maven的模块更多是构建时的模块,OSGi的模块是设计与运行时的模块。好在并没有太多的冲突。

    原来的项目结构:

    image

    整个工程都在一个java项目中体现,层级关系以文件夹的包含结构体现。这样的结构带来了一些问题。比如:

    1.在修改代码的时候需要不停的build整个项目,因为每次都是全集build,在这个构建的过程中需要损耗很多时间,这在敏捷开发中是绝对不可以接受的;

    2.项目之间的依赖结构不清晰,需要深入到build脚本才能清晰的看到各个模块之间的依赖关系以及父子关系的描述。而且随着项目的演进,这种描述越发模糊与混乱,难以维护;

    3.可重复使用的模块难以复用;

    4.开发人员很难甚至无法基于源码进行调试,增加解决问题需要付出的成本;

    基于maven管理的项目结构:

    image

    1.我们将整个项目依托maven的父子模块结构进行重新,每一个最小粒度的模块都是bundle,在其上的都是层级关系,是逻辑层面的划分。因此,我们在代码层面上的改动每次只需要更新一个bundle,不用再build整个项目。而且,开发人员可以基于源码调试,不用再无所事事的等待build。

    2.父子结构,依赖关系都是在pom.xml中体现,而且这种关系在eclipse中表现如上图,算是比较清晰吧。

    3.因为只有部分模块是基于OSGi,其它的模块可复用的部分就有了机会。

  • 相关阅读:
    执行动态sql返回参数
    转: css box-sizing的用法
    使用mocMvc书写测试用例
    sprin-security之二(如何进行连接数据库)
    spring-security学习之(一)出入安全框架
    It's likely that neither a Result Type nor a Result Map was specified
    How To Install Java with Apt-Get on Ubuntu 16.04
    Kafka入门经典教程
    深入理解 Python 异步编程(上)
    ZooKeeper管理分布式环境中的数据
  • 原文地址:https://www.cnblogs.com/asfeixue/p/3626952.html
Copyright © 2020-2023  润新知