• 基于maven的javaweb项目模块化开发


    转自:https://my.oschina.net/kingfire/blog/273381

    基于maven的javaweb项目模块化开发

    引言

    考虑团队拥有多个类似项目的情况,比如一些功能差异不大的cms系统,这些系统有相同的基础代码。

    如果每个项目拷贝整套代码,进行独立管理,那么维护代价很大,如果要修改一个基础代码,需要修改所有项目的相同地方的代码。

    所以要找一个把项目模块化的方法,以便于维护。

    目标

    1. 最重要的是实现基础代码复用,包括java代码,以及webapp中的jsp,css,js等代码;
    2. 多个开发者可以方便获取和修改基础代码,最好有集中式的模块远程仓库;
    3. 能够在脱离模块远程仓库的情况下,实现本地多模块编译集成,这样万一出差在外也能工作;
    4. 能够方便的合并多个模块,最好一两条命令能实现;
    5. 修改代码后能够快速的在服务器(比如tomcat)上运行,方便调试;

    方案简述

    为了实现上诉目标,经过两天的调研和实践,提出了如下方案:

    1. 采用maven多模块技术;
    2. 基础的java代码作为一个模块ma.jar,采用jar打包;
    3. 基础的webapp文件及关联紧密的java代码,作为模块mb.war,采用war打包;
    4. 采用nexus服务器集中管理模块,比如ma.jar和mb.war;
    5. 实际的项目在pom.xml文件中声明依赖ma.jar和mb.war;
    6. mb.war是war文件,采用maven的overlays技术实现合并,主要策略是后来的war包文件不能覆盖已有的war包文件;
    7. 在eclipse-kepler下开发,配置项目的Deployment Assembly,指定target/项目名称 = / ,然后项目发布到eclipse的tomcat。 即项目运行mvn package以后,tomcat将运行结果war包;

    相信有更好的方案,欢迎赐教。

    详细配置

  • 相关阅读:
    HIbernate小结
    玩耍Hibernate之缓存
    Java学习之IO流总结
    java基础学习之对象转型
    玩耍Hibernate系列(一)补充--基础知识
    玩耍Hibernate系列(二)--基础知识
    玩耍Hibernate系列(一)--基础知识
    Struts2拦截器的使用 (详解)
    struts1 和 struts2中Action什么时候实例化
    Java基础学习总结--Java对象的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/sharpest/p/5960822.html
Copyright © 2020-2023  润新知