zoukankan      html  css  js  c++  java
  • 基于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包;

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

    详细配置

  • 相关阅读:
    1062 Talent and Virtue (25 分)
    1083 List Grades (25 分)
    1149 Dangerous Goods Packaging (25 分)
    1121 Damn Single (25 分)
    1120 Friend Numbers (20 分)
    1084 Broken Keyboard (20 分)
    1092 To Buy or Not to Buy (20 分)
    数组与链表
    二叉树
    时间复杂度与空间复杂度
  • 原文地址:https://www.cnblogs.com/sharpest/p/5960822.html
Copyright © 2011-2022 走看看