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

1.怎么理解maven的继承和聚合

maven多模块项目通常由一个父模块和若干个子模块构成,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块)相互关联。多模块适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。
继承:和java中的继承有点类似,就是父pom.xml声明的版本和引用的jar,子模块可以不用再引用直接调用。
聚合:父模块包含多个子模块就是聚合,多个子模块之间可以调用,但是要注意关系,不要两个互相依赖,这样做的好处就是可以通过一条命令进行构建

注意:

groupId是项目组织唯一的标识符,实际对应JAVA的包的结构,artifactId是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。groupId一般分为多个段,一般第一段为域,第二段为公司名称,第三段通常为项目名称。

2.Idea创建多模块项目

2.1创建父模块(空的maven项目)

pom.xml配置
<modelVersion>4.0.0</modelVersion>
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>2.1.6.RELEASE</version>
</parent> 

<groupId>cn.yskcoder.fire</groupId>
<artifactId>fire</artifactId>
<packaging>pom</packaging>
<version>v1.0</version> 

<modules>
 <module>fire-common</module>
 <module>fire-dao</module>
 <module>fire-service</module>
 <module>fire-web</module>
</modules> 

<properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <java.version>1.8</java.version>
 <spring-boot.version>2.1.6.RELEASE</spring-boot.version> 

</properties>

2.2.创建工具类(common)模块(dao、service同这个操作一样)

pom.xml配置
<modelVersion>4.0.0</modelVersion>
<parent>
 <artifactId>fire</artifactId>
 <groupId>cn.yskcoder.fire</groupId>
 <version>v1.0</version>
</parent> 

<!--模块信息-->
<packaging>jar</packaging>
<name>fire-common</name>
<artifactId>fire-common</artifactId>
<description>fire 通用工具类模块</description> 

<!--模块依赖-->
<dependencies> 

</dependencies>

2.3.创建数据库访问(dao)模块(只贴pom.xml代码)

<modelVersion>4.0.0</modelVersion>
<parent>
 <artifactId>fire</artifactId>
 <groupId>cn.yskcoder.fire</groupId>
 <version>v1.0</version>
</parent> 

<!--模块信息-->
<packaging>war</packaging>
<name>fire-web</name>
<artifactId>fire-web</artifactId>
<description>fire web模块</description> 

<!--模块依赖-->
<dependencies>
 <dependency> <groupId>cn.yskcoder.fire</groupId>
 <artifactId>fire-service</artifactId>
 <version>v1.0</version>
 </dependency>
 <dependency> <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <dependency> <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-aop</artifactId>
 </dependency>
 <dependency> <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-test</artifactId>
 <scope>test</scope>
 </dependency>
</dependencies>

<build>
 <plugins>
  <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.1</version>
   <configuration>
    <source>${java.version}</source>
    <target>${java.version}</target>
   </configuration>
  </plugin>
 </plugins>
 <resources>
  <resource>
  <directory>src/main/webapp</directory>
  <filtering>false</filtering>
  </resource>
  <resource>
   <directory>src/main/resources</directory>
   <filtering>true</filtering>
  </resource>
 </resources>
</build>

3.Idea打包多模块项目

clean package -Dmaven.test.skip=true

接下来有空会继续更新这个项目
https://github.com/yskcoder/Fire

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • IntelliJ IDEA创建maven多模块项目(图文教程)

    项目主要分成3个模块,wms-root为父模块,wms-core和wms-app(webapp类型的模块)为子模块. 一.Parent Project,创建wms-root父模块. 1.依次点击:File->New->Project 2.左侧面板选择maven(不要选择Create from archetype选项),如下图,点击Next即可. 3.依次补全如下信息,点击Next 4.输入项目名字.如ModuleProject,我们主要是在这个项目下创建我们的子模块. 5.这样我们就创建好了一

  • 基于maven使用IDEA创建多模块项目

    鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的实际开发,可能有不合适的地方,但是项目是可以跑通的,也请有不足之处,都提出来,一起讨论下. 一. 项目工程目录 首先展示一下,最终整个项目的工程目录: 简单介绍一下目录结构: common-parent为所有项目的父项目,主要用来管理所有项目使用的jar包及其版本. common-utils为公共的工具类项目,继承父项目,它会被打成jar包供其它项目使用. taotao-manager为我们自

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

    1.怎么理解maven的继承和聚合 maven多模块项目通常由一个父模块和若干个子模块构成,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块)相互关联.多模块适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理. 继承:和java中的继承有点类似,就是父pom.xml声明的版本和引用的jar,子模块可以不用再引用直接调用. 聚合:父模块包含多个子模块就是聚合,多个子模块之间可以调用,但是要注意关系,不要两个互相依赖,这样做的好处就是可以通过一条命令进

  • IDEA创建parent项目(聚合项目)

    关于聚合项目和父项目的概念有兴趣的可以去看<MAVEN实战这本书籍>,本篇描述使用IDEA工具创建继承和聚合项目的过程! 创建空白工程:作为存放项目的root目录 步骤一: 步骤2: 步骤3: maven继承:创建父-子项目 项目的结构示意图如下: 1.创建maven父项目的过程 接下来,直接点击NEXT,输入group id,artifacdId,点击完成即可!删除src下的文件,文件的目录结构如下所示: 2.创建maven子项目的过程 前面创建了maven父项目,接下来如何在IDEA中创建

  • IDEA 2020.2 +Gradle 6.6.1 + Spring Boot 2.3.4 创建多模块项目的超详细教程

    环境介绍 IDEA 我用的是2020.2 Gradle 安装参考 Gradle安装配置 我这安装的是6.6.1 C:\Users\herion>gradle -v ------------------------------------------------------------ Gradle 6.6.1 ------------------------------------------------------------ Build time: 2020-08-25 16:29:12 U

  • SpringBoot创建多模块项目的全过程记录

    构建项目 我们采用IntelliJ IDEA工具来创建一个Maven项目,项目的pom.xml要添加对应SpringBoot的配置,因为Maven多模块项目内的模块并不能独立的存在,必须有一个介质来包含,项目结构如下下图所示 我们创建的Maven项目结构如上图所示,pom.xml内我们对应的添加了对SpringBoot的支持,因为我们需要使用SpringBoot来作为项目基本框架,并在pom.xml配置文件引入了Web模块的支持,所以介质项目内的Module都会用于Web依赖 我们在介质Mave

  • IDEA2022创建Maven Web项目教程(图文)

    新建项目 IDEA上方工具栏点击:文件->新建->模块 此时的目录结构: 需要在main文件夹下补全两个文件夹,点击main,右键->新建->文件夹 IDEA已经给我们提示缺失的文件夹了,依次创建就好 创建后目录结构: IDEA集成本地Tomcat 点击运行小绿箭旁边的运行配置,点击加号,选择Tomcat Server本地 点击配置,选择本地tomcat安装路径,修改一下名称,Tomcat配置完成 现在还没有集成项目,点击部署,点击加号,选择工件,选择要集成的项目 点击ok后可以看

  • IntelliJ IDEA创建maven web项目的图文步骤(IDEA新手适用)

    PS:从eclipse刚转到IDEA,对于这个陌生的工具我表示无言,但听说很好用,也就试试,结果我几乎花了一晚上的时间才搭起来maven web项目,觉得在此给各位一个搭建maven web项目的教程,指出我踩过的各种坑! 步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:按照下面的步骤操作就可以了,最后next 首先,选择左边的maven 然后在右边Creater from archetype选项前面打个勾, 最后选择maven-archetype-weba

  • IDEA 创建一个Mybatis Maven项目的方法步骤(图文)

    第一步:先新建一个工程 直接next就行了,不用选内容,不然他会下载骨架会卡很久 第一个箭头是项目名称,第二个箭头是项目路径,根据自己需要修改就行了.新建好的项目是这样的. 第二步:我们需要添加一个web框架支持 右键你的项目然后选择Add Framework那一项. 选中Web Application点击ok. 这样项目结构就有了,重点是啥都不用调了很方便. 第三步:去配置Tomcat 选择Tomcat Server下面的Local 这里选择你的Tomcat在哪里 按照箭头步骤来从上到下把工程

  • IDEA创建SpringBoot的maven项目的方法步骤

    记录IDEA编程工具创建SpringBoot的maven项目过程: 新建项目 选择maven项目及JDK,点击下一步: 选择好项目路径,输入项目名称,点击完成就可以啦: 创建完成效果: 配置pom.xml文件 新建项目需要引入springboot的依赖,这里选择2.4.4版本. 完整pom文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.ap

  • 多模块maven的deploy集成gitlab ci自动发版配置

    目录 背景 maven配置 gitlabci配置 背景 多模块的 maven 项目,抽象了通用的代码逻辑作为单独的 maven 模块,这样,不仅自己项目可以用,也可以提供依赖给其他项目用,那么这个时候需要将这个模块上传到 maven 私服,发布 maven 私服时,release 版本不支持覆盖,所以需要集成 ci 工具,给 maven 模块自动加上版本号,并自动完成 deploy 操作.本文方案依赖 maven 打包插件 flatten-maven-plugin,maven 版本要求大于等于

随机推荐