- 使用IEDA创建new project。
- 聚合总父工程名字。
- Maven选版本。
- 工程名字。
- 字符编码。
- 注解生效。
- java编译版本选择。
- File Type过滤。
设置字符编码UTF-8
注解
设置java1.8版本
idea会自动生成一些奇奇怪怪的文件,怎么过滤掉
.iml;.idea;.gitignore;.sh;.classpath;.project;*.settings;target;
父工程pom文件
删除src目录,并在pom文件中添加pom
统一管理jar包版本
知识点
< dependencyManagement > 和 < dependencies>
Maven中使用< dependencyManagement >元素来提供了一种管理依赖版本号的方式
通常在一个组织或者项目的最顶层的父pom中看到< dependencyManagement>元素
使用POM.xml中的< dependencyManagement>元素能够让子项目汇总引用一耳光依赖而不显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有< dependencyManagement >元素的项目,然后他就会使用这个< dependencyManagement >元素执行的版本号。子项目中的依赖就可以不指定版本号。
这样使用的好处就是:如果有很多项目都引用同一个依赖,则可以避免在每个使用的子项目中都声明一个版本号,这样系那个升级或者切换到另外一个版本只需要在顶层的父容器中更新,而不需要一个一个子项目去进行修改(一次修改,处处生效),另外如果子项目需要另外一个版本,只需要在子项目pom.XML中声明version即可。
注意点
dependencyManagement 中只是声明依赖版本号,而不实际引入jar包,因此子项目需要显示的声明需要用的依赖。
如果不在子项目中声明依赖,是不会从父项目中继承下来的,只有在子项目中写了该依赖项,并且没有指定具体的版本,才会con父项目中继承该项,并且version个scope都读取自父pom
如果子项目中指定了版本号,则会使用子项目中指定的jar版本。
<!-- 统一管理jar版本-->
<!-- 统一管理jar版本-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<junit.version>4.12</junit.version>
<lombok.version>1.16.18</lombok.version>
<mysql.version>8.0.22</mysql.version>
<druid.version>1.1.16</druid.version>
<mybatis.spring.boot.veriosn>1.3.0</mybatis.spring.boot.veriosn>
</properties>
<!-- 子模块继承之后,提供作用,锁定版本,子模块就不用写groupid和version-->
<!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version -->
<dependencyManagement>
<dependencies>
<!--spring boot 2.2.2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.4.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud Hoxton.SR1-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud alibaba 2.1.0.RELEASE-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</dependencyManagement>