1、前言
我们在使用SpringBoot开发一个项目时,需要遵循约定>配置>编码的原则,即:
开发人员仅需规定应用中不符合约定的部分,在没有规定配置的地方,采用默认配置,以力求最简配置为核心思想。
2、创建微服务聚合父工程
2.1 创建Maven项目
打开File->New->Project,创建Maven项目,archetype我们选maven-archetype-site,具体如图:


程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
2.2 聚合总工程命名
主要命名GAV,分别为组织名(一般公司域名逆向书写),分支名(工程名称)和版本号(一般默认即可),我的命名如下:

2.3 Maven配置
选择自己配好的版本,以及核心配置文件(在配置maven时一般都设置好了)

2.4 确定工程名称
2.5 统一编码
选中创建好的项目,点击File->settings->Editor->Filer Encodings,全设置为UTF-8


AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
2.7 统一编译版本
选中创建好的项目,点击File->settings->Build...->Java Compiler,将版本改为自己的JDK版本

2.8 注解生效激活
选中创建好的项目,点击File->settings->Build...->Annotation Processors,勾上选项

2.8 File Types过滤器(可选)
我这里过滤了*.iml和*.idea,这是个可选操作,为了项目看起来更简洁

3、设置父工程POM
打开父工程的pom.xml,修改如下:
4.0.0 com.panziye.springcloud mscloud 1.0-SNAPSHOT pom UTF-8 1.8 1.8 4.12 1.2.17 1.18.8 8.0.22 1.2.5 2.1.4 org.springframework.boot spring-boot-dependencies 2.3.2.RELEASE pom import org.springframework.cloud spring-cloud-dependencies Hoxton.SR8 pom import com.alibaba.cloud spring-cloud-alibaba-dependencies 2.2.5.RELEASE pom import mysql mysql-connector-java ${mysql.version} com.alibaba druid ${druid.version} org.mybatis.spring.boot mybatis-spring-boot-starter ${mybatis.spring.boot.version} junit junit ${junit.version} log4j log4j ${log4j.version} org.projectlombok lombok ${lombok.version} true org.springframework.boot spring-boot-maven-plugin 2.2.9.RELEASE
至此,父项目工程整个框架就建好了
4、Maven知识相关补充
1)项目的打包(packing)类型:pom、jar、war,默认是jar类型
[list]pom——父类型都为pom类型
jar——内部调用或者是作服务使用
war ——需要部署的项目[/list]

免费在线工具导航
优网导航旗下整合全网优质免费、免注册的在线工具导航大全
2)dependencyManagement和dependencies区别
在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。
在dependencyManagement下申明的dependencies,Maven并不会去实际下载所依赖的jar包,而是在dependencyManagement中用一个Map记录了jar的三维坐标。而被仅仅是被dependencies包裹的元素,Maven是会去仓库实际下载所需要的jar包的,而至于需要下载什么版本的jar包就有两种判断途径:
a) 如果dependencies里的dependency自己没有声明version元素,那么maven就会倒dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果没有就会报错,告诉你必须为dependency声明一个version
b) 如果dependencies中的dependency声明了version,那么无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。
3) Maven中跳过单元测试
找到IDEA最右侧有个Maven菜单,点开执行如下操作即可,如果代码没有问题,跳过单元测试可以提高效率

4) Maven其他重要常用指令
(1)maven clean
对项目进行清理,清理的过程中会删除target目录下编译的内容。
(2)maven compile
编译项目源代码。
(3)maven test
对项目的运行测试。
(4)maven package
可以打包后的文件存放到项目的 target 目录下,打包好的文件通常都是编译后生成的class文件。
(5)maven install
在本地仓库生成仓库的安装包可以供其他项目引用,同时打包后的文件存放到项目的 target 目录下。
[v_act]附:[/v_act]
1)mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
2)mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
3)mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。




