转自: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包;

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

详细配置

基于maven的javaweb项目模块化开发的更多相关文章

  1. 基于maven构建javaweb项目思路梳理及改进

    需要准备的东西: Jdk. myeclipse. maven包 预装jdk环境 1.maven安装及配置: a)      详见url https://www.cnblogs.com/eagle668 ...

  2. 基于maven的JavaWeb项目构建部署

    需要准备的安装文件: 1 JDk http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html jdk-8 ...

  3. jenkins集成基于maven的javaweb项目,部署到docker容器中

    使用开源工具:Jenkins,码云gitee,docker,docker页面管理工具PortainerUI,github 各种工具的安装就不必介绍了,首先打开Jenkins,刚安装完Jenkins,可 ...

  4. 工具idea 基于maven 创建springMVC项目

    SpringMVC Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不 ...

  5. SVN基于Maven的Web项目更新,本地过程详细解释

    周围环境 MyEclipse:10.7 Maven:3.1.1 概要 最近在做项目,MyEclipse下载SVN基于上述Maven的Web问题,有时候搞了非常半天,Maven项目还是出现叉号,最后总结 ...

  6. IntelliJ IDEA 17和Maven构建javaWeb项目

    前言 电脑又断电了,眼看着写好的东西就没有了,这是第二次犯这个错误了.很难受呀!还是回到正题吧,我们来使用IDEA和Maven构建一个JavaWeb项目 软件环境: IDEA:2017.2.1 JDK ...

  7. maven学习(八)——使用maven创建javaweb项目

    构建JavaWeb项目 1.创建JavaWeb项目 1.使用mvn archetype:generate命令,如下所示: mvn archetype:generate -DgroupId=com.my ...

  8. 使用Maven构建javaWeb项目时,启动tomcat出错:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.conte

    在初学使用maven构建javaWeb的项目的时候,启动tomcat加载时,总是提示如下错误,辛苦一番终于找到解决办法. 严重: Error configuring application liste ...

  9. 转换基于Maven的Java项目支持Eclipse IDE

    在过去的教程中,使用 Maven 创建了一个Java项目,但是这个项目不能导入到Eclipse IDE中,因为它不是 Eclipse 风格的项目. 这里有一个指南,向您演示如何转换 Maven 生成 ...

随机推荐

  1. 【每日一包0005】arr-flatten

    github地址:https://github.com/ABCDdouyae... arr-flatten 将多维数组展开成一维数组 文档地址:https://www.npmjs.com/packag ...

  2. Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?

    if first time to install docker, be noted the docker engine started as root copied from: http://blog ...

  3. (转)C#进阶之WebAPI

    转:https://www.cnblogs.com/yuchenghao/p/10598825.html 首先第一点:什么是WebAPI? 首先我们了解一下.net framework 的框架构成, ...

  4. jQuery easyui datagrid 的数据加载

        其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非ur ...

  5. nginx利用try_files实现多个源

    比如一个视频网站,视频资源分散在几台机器上,但是给用要提供统一的IP,路径,端口.就需要nginx,先检查本机是否有改文件,如果没有就代理其他地方 location / { root /data/ww ...

  6. storm集群环境搭建

    1.环境 Java环境 卸载虚机环境中自带的openJdk,安装sun的jdk,配置环境变量 2.安装storm 下载storm安装包 解压到安装目录,配置环境变量 vi /etc/profile # ...

  7. 【ABAP系列】SAP ABAP 行列转换的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 行列转换的方法 ...

  8. Java多线程学习——synchronized锁机制

    Java在多线程中使用同步锁机制时,一定要注意锁对对象,下面的例子就是没锁对对象(每个线程使用一个被锁住的对象时,得先看该对象的被锁住部分是否有人在使用) 例子:两个人操作同一个银行账户,丈夫在ATM ...

  9. seaborn用heatmap画热度图

    原文链接 https://blog.csdn.net/m0_38103546/article/details/79935671

  10. 使用Sklearn构建朴素贝叶斯分类器-新闻分类

    # -*- coding: UTF-8 -*- import jieba import os import random from sklearn.naive_bayes import Multino ...