zoukankan      html  css  js  c++  java
  • 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,其它的模块可复用的部分就有了机会。

  • 相关阅读:
    linux系统命令记录
    window下,nodejs 安装 http-server,开启命令行HTTP服务器
    前端学习记录2:设计稿分析
    前端学习记录1:开始
    如何做到让自己长时间精神专注?
    sublime使用
    nodejs 第一次使用
    收集好看的效果及互动页面
    转 如何赢得朋友和获得影响力
    转 scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
  • 原文地址:https://www.cnblogs.com/asfeixue/p/3626952.html
Copyright © 2011-2022 走看看