idea maven多模块项目搭建 简书
maven多模块项目构建

maven多模块项⽬构建描述 ⼀个⼤的企业级项⽬通常跨越了数⼗万⾏代码,牵涉了数⼗或数百软件⼈员的努⼒。
如果开发者在同⼀个项⽬下开发,那么项⽬的管理、构建将会变得很难控制。
因此设计⼈员会将项⽬划分为多个模块,多个模块独⽴开发、构建, 最终通过依赖整合到⼀起。
Maven的聚合特性能够把项⽬的各个模块集合在⼀起构建,⽽Maven的继承特性则能帮助抽取各模块相同的依赖和插件配置,在简化POM的同时,还能促进各个模块配置的⼀致性。
聚合 通过⼀个POM模块来统⼀构建多个模块,Maven可以根据依赖关系计算出构建顺序,然后逐⼀构建。
如果没有聚合,则需要每个模块⼿动构建聚合pom:pom.xml:。
<packaging>pom</packaging><modules><module>../complex_base</module><module>../complex_user</module><module>../complex_menu</module>。
</modules>。
配置解析: 聚合模块只需要pom.xml⽂件,其他⽬录可以删除,在该⽂件中声明packaging为pom module元素⽤来配置聚合的模块,被聚合的模块可以和聚合模块是⽗⼦⽬录,也可以是平⾏⽬录 在聚合模块执⾏对应的构建⽣命周期阶段,将会按序执⾏各个模块的对应阶段继承继承是指POM的继承。
⼦模块继承⽗模块,继承的是POM,也可以理解为配置的继承。
通过继承能抽取各模块相同的依赖和插件配置到⽗模块,在简化POM的同时,还能促进各个模块配置的⼀致性。
⽗pom:pom.xml:<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>plex</groupId><artifactId>complex_integrated</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>complex_integrated</name><url></url><!-- 聚合:mvn package,maven会计算依赖关系,逐模块构建 --><modules><module>../complex_base</module><module>../complex_user</module><module>../complex_menu</module><module>../complex_sample</module><module>../complex_web</module></modules><!--jetty --><build><pluginManagement><plugins><!-- mvn jetty:run -Djetty.port=9999 --><plugin><groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>9.2.22.v20170606</version></plugin></plugins></pluginManagement></build><!-- 依赖管理:dependencyManagement下的依赖,不会引⼊当前项⽬,也不会引⼊⼦项⽬,只有在⼦项⽬中通过dependencies下的⼦元素进⾏了声明才会引⼊ --><!-- 依赖管理:dependencyManagement可以在提供继承的便利性和统⼀性的基础上,提供⼀定的灵活性,pluginManagement的原理是⼀致的 --><dependencyManagement><dependencies><!-- javax.servlet --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies></dependencyManagement></project>⼦pom:pom.xml:<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>plex</groupId><artifactId>complex_integrated</artifactId><version>0.0.1-SNAPSHOT</version><!-- 默认../pom.xml --><relativePath>../complex_integrated/pom.xml</relativePath></parent><artifactId>complex_web</artifactId><packaging>war</packaging><name>complex_web</name><build><plugins><!-- mvn -Djetty.port=9999 jetty:run --><plugin><groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>9.2.22.v20170606</version></plugin></plugins><finalName>complex_web</finalName></build><dependencies><dependency><groupId>plex</groupId><artifactId>complex_user</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies></project>配置解析: dependencyManagement下的依赖,不会引⼊当前模块,也不会引⼊⼦模块,只有在⼦模块中通过 dependencies下的⼦元素进⾏了声明才会引⼊。
IntelliJIDEA构建maven多模块项目

IntelliJIDEA构建maven多模块项⽬我们在开发中因为项⽬之间需要依赖所以会在maven创建多个项⽬配置依赖,这种项⽬结构主要应⽤在⼤型项⽬中,多⼈协作开发1.创建⼀个项⽬ File ->NEW -> Projec
2.选择最下边的Empty Project 然后点击Next
3.输⼊项⽬名称点击Finish
4.点击Modules 点加号选择 New Module
5.选择maven 选中 Create from archetype 复选框选择maven模板点击Next
6.写maven的坐标,“groupId”,“artifactId”,以及“version”,其中groupId是公司域名的反写,⽽artifactId是模块名,version就是该模块所对应的版本号,填写完之后,点击【Next】
7.选择本地的maven,选择maven得配置⽂件路径及本地maven仓库路径,选择完成后点击【Next】
8.填写模块名称,后点击【Finish】
9.创建第⼆个模块(同上边第 4 第 5步骤)
执⾏完 4、5步骤会进⼊如下页⾯会发现 Parent 后边多了⼀个 ...的按钮点开它选择maven test 模块作为⽗类继承过来
10.输⼊⼦模块的名称点击next
11.选择本地的maven,选择maven得配置⽂件路径及本地maven仓库路径,选择完成后点击【Next】
12..填写模块名,后点击【Finish】
13.此时创建好了两个模块 maven test为⽗模块 maven test1为⼦模块想要创建更多的模块按照以上步骤创建即可最后点击OK
14.会展⽰项⽬结构 maven test1依赖maven test。
Idea中创建maven项目(超详细)

Idea中创建maven项⽬(超详细)Idea中创建maven项⽬提⽰:前提条件时maven已经安装好,并且环境变量也配置完成,maven没安装好或者环境变量没有配置好的请参考我上⼀篇⽂章——maven的安装和配置上篇博⽂链接:参考博⽂:@⽬录前⾔测试maven版本:maven-3.6.3、jdk版本:1.8⼀、使⽤步骤1.在Idea中配置maven(1)、打开Idea,点击File,然后点击Settings,进⼊设置,或者直接按Ctrl+Alt+S进⼊设置(2)、先在左上⾓的搜索框输⼊maven,找到maven后单击,然后在右边的maven home path的右边选择你的maven安装路径,选择到根⽬录就好了,然后点击确定,具体步骤看下图:(3)、Local repository 是maven的本地仓库,默认路径是C:\Users\Administrator.m2\repository,可以使⽤默认路径也可以在settings.xml中配置本地maven仓库,看⾃⼰需要,⼀般在settings.xml中配置好了这⾥会⾃动检测你在settings.xml中配置的仓库路径,具体配置请看我上⼀篇博客——maven的安装以及配置,具体步骤如下图:2.在Idea中创建maven项⽬(1)、点击File,选择New,再点击Project(2)、具体看图,别选错webapp了(3)、接下来输⼊各类名称,填完后直接next下⼀步,名称具体含义如下图:(4)、配置maven信息,具体操作如下图(5)、添加配置 DarchetypeCatalog=internal,添加原因:每次创建maven项⽬时, IDEA 要使⽤插件进⾏创建,这些插件当你创建新的项⽬时,它每次都会去中央仓库下载,这样使得创建⽐较慢。
所以在创建maven项⽬时,应该让它找本地仓库中的插件进⾏项⽬的创建。
DarchetypeCatalog=internal3.完善maven-web项⽬模板(1)、第⼀次加载maven项⽬⽐较慢,等待右下⾓的进度条加载结束,下⾯是刚建好的maven-web项⽬模板(2)、上⾯的项⽬不完整,不能满⾜我们的开发需要,所以需要我们⼿动建设⼀些⽂件夹,需要兴建的⽂件夹我⽤红⾊标出,以下是maven项⽬的标准⽬录:src/main/javasrc/main/resourcessrc/test/javasrc/test/resources下⾯来构建⽬录,在main上右击New->Directory 新建java⽂件夹和resources⽂件夹在src⽬录上右击New->Directory 新建test⽂件夹在test⽬录上右击New->Directory 新建java和resources⽂件夹下⾯只演⽰⼀个,其余类似(3)、接下来就是把新建⽴的⽂件夹进⾏关联了,看清楚红⾊的关联对象,关联错了就得重新关联,这⼀定不能出错,关联⽅法如下图。
springboot+idea+maven多模块项目搭建的详细过程(连接数据库进行测试)

springboot+idea+maven多模块项⽬搭建的详细过程(连接数据库进⾏测试)创建之前项⽬之前记得改⼀下 maven 提⾼下载Pom速度记得 setting 中要改 maven 改成阿⾥云的。
具体⽅法⽹上查第⼀步搭建parents 项⽬,为maven项⽬,不为springboot 项⽬记得修改groupId第⼆步搭建多个⼦模块, honor-dao honor-manager honor-common记得创建 honor-manager 的时候要把他的gruopId 改成com.honor.manager这⾥爆红的原因是因为我做到后⾯然后忘记截屏了,返回来做。
实际我已经创建了,所以这个步骤是对的。
按照这个做法,创建 honor-dao honor-manager honor-common,记得创建 honor-manager 的时候要把他的gruopId 改成com.honor.manager第三步在 honor-manager 下分别创建 honor-manager-fc(maven) honor-manager-user(maven) honor-manager-boot (springboot,记得要使⽤springboot创建)创建时候有两个坑第⼀个是⽗级别选错。
他⼀般会默认选第⼀级别,就是 honor 但是我们要继承的是 honor-manager第⼆个是路径别写错第四步开始对各⼤ Pom 进⾏整合 dao 中⼀般需要引⼊ common ,common ⼀般不需要引其他模块,然后呢 manager 中要同时引⼊dao 和 common第⼀个是 honor ⽗级的 pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion><groupId>com.honor</groupId><artifactId>phone</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><modules><module>honor-dao</module><module>honor-common</module><module>honor-manager</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.7.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><honor-common>1.0-SNAPSHOT</honor-common><honor-dao>1.0-SNAPSHOT</honor-dao><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><skipTests>true</skipTests><hutool.version>4.5.7</hutool.version><swagger2.version>2.7.0</swagger2.version><mybatis-generator.version>1.3.7</mybatis-generator.version><mybatis.version>3.4.6</mybatis.version><postgresql.version>42.2.12</postgresql.version><spring-data-commons.version>2.1.5.RELEASE</spring-data-commons.version><jjwt.version>0.9.0</jjwt.version><aliyun-oss.version>2.5.0</aliyun-oss.version><gson.version>2.8.5</gson.version><log4j2.version>2.13.3</log4j2.version><mybatis-plus.version>3.1.0</mybatis-plus.version><activiti.version>6.0.0</activiti.version><poi.version>4.1.2</poi.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 去掉默认配置 --><!--<exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion>--><exclusion><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId></exclusion><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></exclusion><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency><!--<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>--><!-- 移除Tomcat之后会报错,加⼊下⾯的依赖,使⽤外部容器 --><!--<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</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><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>${log4j2.version}</version><scope>compile</scope></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version><scope>compile</scope></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-jul</artifactId><version>${log4j2.version}</version><scope>compile</scope><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j2.version}</version><scope>compile</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.5.0</version><scope>test</scope></dependency><dependency><groupId>com.honor</groupId><artifactId>honor-common</artifactId><version>${honor-common}</version></dependency><dependency><groupId>com.honor</groupId><artifactId>honor-dao</artifactId><version>${honor-dao}</version></dependency><!--阿⾥巴巴连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.20</version></dependency><!--Swagger-UI API⽂档⽣产⼯具--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger2.version}</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger2.version}</version></dependency><!-- MyBatis--><!--<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency>--><!-- mybatis plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>${mybatis-plus.version}</version></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>8.0.13</version></dependency><!--SpringData⼯具包--><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>${spring-data-commons.version}</version></dependency><!--JWT(Json Web Token)登录⽀持--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!--Google的JSON解析⼯具--><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>${gson.version}</version></dependency><!-- https:///artifact/net.sf.json-lib/json-lib --><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier></dependency><!-- https:///artifact/org.activiti/activiti-engine --> <dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>${activiti.version}</version><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></exclusion></exclusions></dependency><!--没有会引起mybaits plus通⽤mapper和activity的冲突--><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-jpa</artifactId><version>${activiti.version}</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>${poi.version}</version></dependency><!-- https:///artifact/org.apache.poi/poi-ooxml --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency></dependencies></dependencyManagement></project>第⼆个是honor-common<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <parent><artifactId>phone</artifactId><groupId>com.honor</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>honor-common</artifactId><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-annotation</artifactId><version>3.1.0</version><scope>compile</scope></dependency></dependencies></project>第三个是honor-dao的 pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <parent><artifactId>phone</artifactId><groupId>com.honor</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>honor-dao</artifactId><dependencies><dependency><groupId>com.honor</groupId><artifactId>honor-common</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies></project>第四个是honor-manager的<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <parent><artifactId>phone</artifactId><groupId>com.honor</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.honor.manager</groupId><artifactId>honor-manager</artifactId><packaging>pom</packaging><modules><module>honor-manager-txn1</module><module>honor-manager-user1</module><module>honor-manager-boot</module></modules><dependencies><dependency><groupId>com.honor</groupId><artifactId>honor-common</artifactId></dependency><dependency><groupId>com.honor</groupId><artifactId>honor-dao</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>com.honor.manager</groupId><artifactId>honor-manager-boot</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.honor.manager</groupId><artifactId>>honor-manager-txn1</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.honor.manager</groupId><artifactId>>honor-manager-user1</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies></dependencyManagement></project>然后是 honor-manager-user<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><parent><artifactId>honor-manager</artifactId><groupId>com.honor.manager</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>honor-manager-user1</artifactId><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies></project>然后是honor-manager-boot记得boot 要引⼊ txn1 和 user的依赖,记得要把parents 要改⼀下,是为honor-manager. <?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 https:///xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><artifactId>honor-manager</artifactId><groupId>com.honor.manager</groupId><version>1.0-SNAPSHOT</version></parent><groupId>com.honor.manager</groupId><artifactId>honor-manager-boot</artifactId><version>0.0.1-SNAPSHOT</version><name>honor-manager-boot</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>com.honor.manager</groupId><artifactId>honor-manager-user1</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.honor.manager</groupId><artifactId>honor-manager-txn1</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>第⼆阶段开始测试⾸先搭建数据库,做个简单的User 表测试就⾏了然后搭建 beansUser 的内容package mon.beans;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import lombok.Data;import lombok.EqualsAndHashCode;import lombok.experimental.Accessors;@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class User {@TableId(type = IdType.AUTO)private Integer id;private String username;private String password;}第⼆部 dao层UserMapper接⼝package com.honor.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import er;import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapperpublic interface UserMapper extends BaseMapper<User> {}UserMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd"> <mapper namespace="erMapper"><resultMap id="User" type="er"/></mapper>第三部分 springboot 的application 中加⼊扫描包的注解@ServletComponentScan@MapperScan("com.honor.mapper")然后编写application.yml ⽂件server:port: 8880servlet:context-path: /honor-managerspring:application:name: usersdatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/eft?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=trueusername: rootpassword: 111111mybatis-plus:mapper-locations:- classpath*:com/honor/mapper/*.xmlcheck-config-location: truedebug: true紧接着编写 userController 进⾏测试⼀定要前缀⼀样!这⾥注意要前缀⼀样,要不扫描不到UserController代码package com.honor.manager.controller;import er;import erMapper;import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import java.util.Map;@RestControllerpublic class UserController {@ResourceUserMapper userMapper;@RequestMapping(value = "/api/user",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_UTF8_VALUE)@ResponseBodypublic User read(@RequestParam Map<String, Object> params) {return userMapper.selectById("1");}@GetMapping("/api/test")public String hello() {return "hello";}}⾃此多级模块的项⽬就搭建成功了!总结到此这篇关于springboot+idea+maven 多模块项⽬搭建的详细过程(连接数据库进⾏测试)的⽂章就介绍到这了,更多相关springboot+idea+maven 多模块项⽬搭建内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
idea maven项目创建子模块

idea maven项目创建子模块【原创版】目录1.创建子模块的背景和需求2.创建子模块的步骤3.子模块的生命周期4.子模块的依赖关系5.子模块的编译和测试6.子模块的构建和部署7.子模块的优点和局限性正文在 Maven 项目中,有时候我们需要将一个大型项目拆分成多个小模块,以便更好地管理和维护。
这时候,我们就需要创建子模块。
本文将详细介绍如何在 idea maven 项目中创建子模块。
1.创建子模块的背景和需求创建子模块的背景和需求主要包括以下几点:(1)大型项目难以维护。
当一个项目变得越来越大时,其代码复杂度和维护难度也会相应地增加。
此时,将项目拆分成多个子模块可以降低项目的复杂度,提高开发效率。
(2)多个子模块可以独立开发和部署。
将一个大型项目拆分成多个子模块后,不同的开发者可以分别负责不同的子模块,从而提高开发效率。
2.创建子模块的步骤在 idea maven 项目中创建子模块的步骤如下:(1)在 idea 中右键点击要创建子模块的父模块,选择“新建”>“模块”。
(2)在弹出的对话框中,输入子模块的名称,并选择子模块的父模块。
(3)点击“完成”,即可创建一个新的子模块。
3.子模块的生命周期子模块的生命周期主要包括以下几个阶段:(1)初始化:在项目启动时,子模块会被初始化。
此时,子模块的代码和资源会被加载到内存中。
(2)编译:在项目编译时,子模块的代码会被编译成字节码或目标文件。
(3)测试:在项目测试时,子模块的代码会被测试。
(4)构建:在项目构建时,子模块会被打包成 jar 文件或 war 文件。
(5)部署:在项目部署时,子模块会被部署到指定的运行环境。
4.子模块的依赖关系子模块之间的依赖关系可以通过 Maven 的 pom.xml 文件来定义。
例如,如果子模块 A 依赖于子模块 B,可以在子模块 A 的 pom.xml 文件中添加以下依赖:<dependency><groupId>com.example</groupId><artifactId>submodule-b</artifactId><version>1.0.0</version></dependency>5.子模块的编译和测试子模块的编译和测试可以通过 idea maven 项目来完成。
IntelliJIDEA创建maven多模块项目(图文教程)

IntelliJIDEA创建maven多模块项⽬(图⽂教程)项⽬主要分成3个模块,wms-root为⽗模块,wms-core和wms-app(webapp类型的模块)为⼦模块。
⼀、Parent Project,创建wms-root⽗模块。
1、依次点击:File->New->Project2、左侧⾯板选择maven(不要选择Create from archetype选项),如下图,点击Next即可。
3、依次补全如下信息,点击Next4、输⼊项⽬名字。
如ModuleProject,我们主要是在这个项⽬下创建我们的⼦模块。
5、这样我们就创建好了⼀个普通项⽬,因为该项⽬是作为⼀个Parent project存在的,可以直接删除src⽂件夹。
⼆、创建⼦模块,wms-core1、在⽗模块上右键如下图操作,创建⼀个模块,该模块即为⼦模块。
2、同样不选择Create from archetype选项,因为是普通模块,Next。
、3、groupId和version继承⾃Parent project,这⾥只⽤ArtifactId,Next。
4、填写模块名称,模块名称和ArtifactId相同即可。
5、创建完成后结构如下图。
三、创建⼦模块,wms-app1、同创建wms-core的第⼀步相同。
2、在有⽹络的情况下可直接下载maven提供给我们的模块。
如下勾选Create from archetype,并选中webapp模块。
Next3、groupId和version继承⾃Parent project,这⾥只⽤填写ArtifactId。
Next4、可以使⽤默认的maven配置,本⼈使⽤的是⾃⼰下载的maven和settings.xml⽂件。
如图5、填写模块名称,Next之后等待从⽹路上下载相关组件即可。
6、最终项⽬结构如下图只要熟悉web项⽬结构的,不⼀定要使⽤该⽅法。
按照web项⽬的结构⼿动构建⼀个即可。
idea maven多模块项目搭建 简书

idea maven多模块项目搭建简书摘要:一、引言二、Idea Maven 多模块项目搭建的准备工作1.安装Idea2.安装Maven3.创建Idea 项目三、创建Maven 多模块项目1.创建父模块2.创建子模块3.配置父模块的pom.xml 文件4.配置子模块的pom.xml 文件四、使用Maven 构建多模块项目1.添加依赖2.执行Maven 命令3.查看构建结果五、总结正文:一、引言Maven 多模块项目能够提高项目的可维护性、可扩展性和可复用性。
在Idea 中搭建Maven 多模块项目,可以让我们更方便地管理项目,提高开发效率。
二、Idea Maven 多模块项目搭建的准备工作1.安装Idea请根据您的操作系统和版本,从官方网站下载并安装Idea。
2.安装Maven请根据您的操作系统和版本,从官方网站下载并安装Maven。
3.创建Idea 项目打开Idea,选择“Create New Project”,在弹出的窗口中选择“Maven Project”,然后点击“Next”,输入项目名称、位置等信息,最后点击“Finish”。
三、创建Maven 多模块项目1.创建父模块在Idea 中右键点击项目,选择“New Module”,在弹出的窗口中选择“Maven Module”,输入模块名称,点击“Finish”。
2.创建子模块重复步骤1,创建多个子模块。
3.配置父模块的pom.xml 文件在父模块的pom.xml 文件中,添加以下内容:```xml<project>...<packaging>pom</packaging><modules><module>子模块1</module><module>子模块2</module>...</modules>...</project>```4.配置子模块的pom.xml 文件在子模块的pom.xml 文件中,添加以下内容:```xml<project>...<parent><groupId>父模块的groupId</groupId><artifactId>父模块的artifactId</artifactId> <version>父模块的version</version></parent>...</project>```四、使用Maven 构建多模块项目1.添加依赖在父模块的pom.xml 文件中,添加子模块所需的依赖。
Maven创建多模块项目(包括依赖版本号的统一更新)

Maven创建多模块项⽬(包括依赖版本号的统⼀更新)0、多项⽬⼯程的⽂件夹及依赖关系bus-core-api为公共项⽬,app-web-ui依赖bus-core-api,app-desktop-ui依赖bus-core-api1、创建⼀个⽗Maven⼯程mvn archetype:generate -DgroupId=com.jsoft.test -DartifactId=testproject -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root -DinteractiveMode=false -DarchetypeVersion=RELEAS 注意:此项⽬为pom类型的⼯程,创建好之后只有⼀个pom.xml⽂件,<packaging>类型为pom。
创建好后的pom.xml⽂件内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jsoft.test</groupId><artifactId>testproject</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>testproject</name></project>2、创建三个⼦Maven⼯程注意:此时创建的⼯程的⽬录是进去⽗Maven⼯程的⽬录进⾏创建①创建bus-core-api项⽬mvn archetype:generate -DgroupId=com.jsoft.test -DartifactId=bus-core-api -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeVersion=RELEASE②创建app-desktop-ui项⽬mvn archetype:generate -DgroupId=com.jsoft.test -DartifactId=app-desktop-ui -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeVersion=RELEASE③创建app-web-ui项⽬mvn archetype:generate -DgroupId=com.jsoft.test -DartifactId=app-web-ui -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeVersion=RELEASE此时创建好项⽬之后,⽗Maven⼯程pom.xml也会跟着改变,⾃动加⼊<Module>节点,如下所⽰:<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jsoft.test</groupId><artifactId>testproject</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><name>testproject</name><modules><module>bus-core-api</module><module>app-desktop-ui</module><module>app-web-ui</module></modules></project>⽽通过进⼊到⽗Maven⼯程的⽬录创建的⼦Maven⼯程,pom.xml也会做相应的变化,增加了<parent>节点,内容如下:bus-core-api:<?xml version="1.0"?><project xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd" xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jsoft.test</groupId><artifactId>testproject</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.jsoft.test</groupId><artifactId>bus-core-api</artifactId><version>1.0-SNAPSHOT</version><name>bus-core-api</name><url></url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies></project>app-desktop-ui:<?xml version="1.0"?><project xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd" xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jsoft.test</groupId><artifactId>testproject</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.jsoft.test</groupId><artifactId>app-desktop-ui</artifactId><version>1.0-SNAPSHOT</version><name>app-desktop-ui</name><url></url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies></project>app-web-ui:<?xml version="1.0"?><project xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd" xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jsoft.test</groupId><artifactId>testproject</artifactId><version>1.0-SNAPSHOT</version></parent><groupId>com.jsoft.test</groupId><artifactId>app-web-ui</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>app-web-ui Maven Webapp</name><url></url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>app-web-ui</finalName></build></project>⽽此时项⽬还没有完⼯,因为bus-core-api为公共项⽬,app-web-ui依赖bus-core-api,app-desktop-ui依赖bus-core-api,所以必须在app-web-ui和app-desktop-ui增加对bus-core-api的依赖引⽤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
idea maven多模块项目搭建简书在IDEA中使用Maven进行多模块项目搭建的步骤
在软件开发过程中,使用多模块项目可以更好地管理和组织代码。
IDEA是一个功能强大的集成开发环境,而Maven是一个优秀的项目构建工具。
本文将介绍如何使用IDEA和Maven来搭建多模块项目。
1. 创建一个Maven项目
打开IDEA,选择"File" -> "New" -> "Project",在弹出窗口中选择"Maven",点击"Next"。
在"GroupId"和"ArtifactId"字段中输入项目的唯一标识符,然后点击"Next"。
在"Project location"字段中选择项目保存的路径,点击"Next"。
在"Project SDK"字段中选择项目所使用的Java开发环境,点击"Next"。
在最后一个窗口中,选择项目的类型,点击"Finish"。
2. 添加模块
在项目创建完成后,我们需要添加模块。
右键点击项目名称,选择"New" -> "Module",在弹出窗口中选择"Maven",然后点击"Next"。
在"GroupId"和"ArtifactId"字段中输入新模块的唯一标识符,然后
点击"Next"。
在"Content root"字段中选择新模块的路径,点击"Next"。
在"Project SDK"字段中选择模块所使用的Java开发环境,点击"Next"。
在最后一个窗口中,可以选择是否创建一个模块之间的父子关系,点击"Finish"。
3. 配置模块之间的依赖关系
在多模块项目中,不同模块之间通常存在着依赖关系。
我们需要
在pom.xml文件中配置这些依赖关系。
在每个模块的pom.xml文件中添加对其他模块的依赖,例如:
```
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>module1</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
```
4. 运行项目
在IDEA中,可以直接运行整个项目,也可以选择运行单个模块。
如果要运行整个项目,可以右键点击项目名称,选择"Run" -> "Run"。
如果要运行单个模块,可以右键点击模块名称,选择"Run" -> "Run"。
5. 构建项目
当开发完成后,我们可以使用Maven构建整个项目。
在IDEA的右侧边栏中可以找到"Maven"选项,展开后找到对应的
项目或模块名称,右键点击选择"Lifecycle" -> "install"。
Maven会自动构建项目并生成可执行文件或jar包。
6. 总结
通过使用IDEA和Maven,我们可以快速、高效地搭建多模块项目。
这些模块之间可以相互依赖,方便代码管理和维护。
希望本文对
您在使用IDEA和Maven进行多模块项目搭建时有所帮助。
以上就是使用IDEA和Maven进行多模块项目搭建的步骤,通过这
种方式可以更好地管理和组织代码,提高开发效率。
希望本文能对您
有所帮助。