`

多模块项目中war包相互依赖关系分析

 
阅读更多

 

 

之前做的一个项目前后分离,前端通过restful访问后端获取数据。

项目比较大,功能也多,分为多个小组共同开发。

前端因为有各自的jsp页面,js等等,开发各自的maven模块并且打成war包。在最后通过maven-war-plugin插件汇总成一个war包。其中

有一个基础war包,里面包含spring、mybatis等配置文件,以及一些基础类,因此这个基础war包除了要打成war包供最后汇总使用,还

要用maven-jar-plugin插件打成有特有classifier的jar包供开发其他模块时依赖,因为最后汇总时这包里的东西都会有因此这个jar包依赖范

围只要是provided就行。

 

上图是war包,下图是jar包。jar包内容就是war包中classes文件夹中的内容。

 

 

而后台服务,只提供数据,模块中只要编写java类和配置文件,因此只要打成jar包,最后项目汇总依赖jar包就成。而基础的spring、mybatis等

配置文件,以及身份验证单点登录等都在基础模块中实现。另外项目单独提出一个test模块,并将基础模块的配置复制一份到test模块中,这样

其他上层模块在编写代码及测试中只要依赖test模块进行测试就行。
 

另外这样设计的一个好处是,如果想要打成包含不同功能的war包,前台只要依赖前台基础war包和相应功能war然后overlays就行,后台只要依赖后台基础war包和相应功能的jar包就行。

  • 大小: 13.4 KB
  • 大小: 11 KB
分享到:
评论

相关推荐

    idea导入相互依赖多项目 tomcat启动与打包

    ### IDEA导入相互依赖多项目及Tomcat启动与打包详解 #### 一、导入SVN项目 在本节中,我们将详细介绍如何使用IntelliJ IDEA (IDEA) 导入具有相互依赖关系的多个项目,并确保它们能正确地存放在同一工作空间内。...

    maven多模块项目(简单实例)

    在大型项目中,通常会采用多模块(Multi-Module)的方式来组织代码,以实现更好的模块化、复用性和可维护性。本实例将详细介绍如何创建和管理一个简单的Maven多模块项目。 首先,我们要理解Maven的模块关系。在...

    maven多模块项目

    Maven多模块项目是一种高效组织大型Java项目的方式,它允许我们将一个复杂的系统分解为多个相互依赖的独立模块,每个模块专注于特定的功能或服务。这样做的好处包括代码复用、提高开发效率、简化构建过程以及便于...

    maven构建多模块项目

    首先,Maven多模块项目是将一个大型项目划分为多个相互依赖的子项目,每个子项目负责特定的功能模块,这样可以提高开发效率,便于代码维护和团队协作。创建多模块项目的第一步是设置一个父项目(Parent Project),...

    idea gradle 多模块开发

    在大型项目中,为了保持代码的清晰性和可维护性,通常会将项目拆分为多个相互独立的模块,每个模块专注于特定的功能或服务。这样可以降低耦合度,提高代码复用,并使团队协作更加高效。 接下来,我们看看如何在Idea...

    maven多模块整合

    在多模块项目中,每个模块都有自己的POM,这些POM可以引用其他模块作为依赖,形成一个层次结构。Maven通过配置parent POM,可以在整个项目中统一设置属性和插件版本,使得整个项目的构建和配置更加一致。 `...

    关于项目、产品maven依赖问题

    在一个典型的多项目环境中,项目A可能依赖于平台提供的框架库(如framework-webapp),同时,产品A也基于该平台开发并引入了相同的框架库。在项目A中,如果直接将产品A作为依赖引入,而没有处理好依赖的顺序和范围...

    Maven 多模块

    Maven多模块项目是将一个大型项目分解为多个相互依赖的子项目,每个子项目都可以独立开发和测试,然后整合在一起形成整个系统。这种架构方式有助于提高代码的可重用性,促进团队协作,并简化项目的构建流程。 1. ...

    Maven的多模块与继承[归纳].pdf

    Maven 的多模块项目允许将大型项目分解成多个相互依赖的小模块,每个模块专注于特定的功能或组件。这样可以提高代码的可维护性和复用性。创建多模块项目通常包括以下步骤: - 模块的创建:通过Maven的`archetype:...

    cas-server.war与相关jar包

    标题中的“cas-server.war”是一个Web应用归档文件,通常在Java的Servlet容器(如Tomcat)中运行。CAS(Central Authentication Service)是一个开源的身份验证框架,它提供了单点登录(Single Sign-On, SSO)功能,...

    wsdm java工具类模块

    通过以上分析,我们可以看出"wsdm Java工具类模块"是一个为Java开发者提供便利的工具集,它的设计和实现涉及到了项目构建、依赖管理、源代码组织等多个方面。理解和掌握这样的工具类模块有助于提升开发效率,同时也...

    03-maven-test.zip

    在Maven中,一个项目可以被组织成多个子项目,这些子项目可以是相互依赖的,也可以独立存在。每个子项目都有自己的`pom.xml`文件,这是Maven项目的配置文件,用于定义项目属性、依赖、构建过程等。在描述中提到的...

    cas-server-4.0.0-release单点登录源码和war包-原版

    CAS(Central Authentication Service)是一...通过深入研究这个"cas-server-4.0.0-release"的源码和war包,开发者不仅可以了解SSO的实现机制,还可以学习如何在实际项目中应用和扩展CAS,提升系统的安全性和用户体验。

    Idea创建多模块maven聚合项目的实现

    聚合是指父模块包含多个子模块,这些子模块之间可以调用,但需要注意关系,不要两个模块互相依赖。这样做的好处是可以通过一条命令进行构建和管理。 在创建多模块maven项目时,需要了解以下几个关键概念: 1. ...

    maven父子结构demo

    "maven父子结构demo"是一个示例项目,展示了Maven如何处理多模块项目的父子关系,使得代码组织更加有序,管理更加高效。 在Maven中,父子结构(Multi-module Project)是指一个父项目包含多个子项目。这种结构适用...

    multi-module-serve

    在Maven或Gradle等构建工具中,多模块项目是指将一个大的应用分解为多个相互依赖的小模块,每个模块负责特定的功能。这样的设计有助于降低代码的复杂性,便于团队协作,并且有利于重用和测试。 描述中的"java多...

    Mavne3.3.9

    在一个大型项目中,往往包含多个相互依赖的子项目。Maven允许我们将这些子项目组织成模块,每个模块都有自己的POM.xml文件,而顶层的POM.xml则作为聚合模块,负责整个项目的构建。这种模块化的管理方式极大地提高了...

    Maven:构建和管理Java项目Maven:构建和管理Java项目

    - **定义**:多模块项目是指由多个相互关联但又可以独立构建的模块组成的项目。 - **优势**:这种结构有助于实现更好的代码重用,同时也方便团队成员并行开发不同的模块。 ##### 团队协作 - **版本控制集成**:...

    maven-projects-master.rar

    【描述】"maven-projects-master.rar" 暗示这是一组主干的 Maven 项目集合,可能包含了多个相互依赖的子项目,每个子项目都有自己的 pom.xml 文件,用于定义项目的构建配置和依赖关系。这些项目可能遵循 Maven 的...

    【Springboot项目源码】Springboot开发的客户关系管理系统.zip

    在这个项目中,可能包含了用户管理、客户资料管理、订单处理、报表和分析模块。 3. **项目结构**: 一个典型的SpringBoot项目通常包含以下几个部分:主应用类、配置文件、控制器、服务层、模型实体类、数据库访问...

Global site tag (gtag.js) - Google Analytics