一、新建 Maven 父级项目
1、选择通过Maven原型构建项目
image.png
2、输入GAV
image.png
3、注意此处要选择本地 Maven,不要使用 idea自带的 Maven3
image.png
4、点击 Finish 完成,然后 Maven 会下载构建需要的 jar 包,需要稍等片刻。然后删掉父级的 src等
image.png
二、idea 环境设置
1、设置编码
image.png
2、设置 Java 编译版本
image.png
3、适用注解
image.png
4、(选做)根据个人习惯,忽略掉一些无关文件,习惯添加 .impl;.idea;
image.png
三、完善父级pom,需要注意以下标签
1、<packaging>pom</packaging>:表示打包类型为 pom ,而不是jar或者war。父级pom文件中这个值一定要为 pom
2、<dependencyManagement>用于父级 pom 中,它有两个作用:
(1)子pom 中会引用父 pom 中该依赖的版本,所以在子 pom 中引用,只需要 <groupId> 和 <artifactId>而无需<version>,便于对版本号的统一管理
(2)它更像是一个java接口,这意味着它只是声明,而不是实现。也就是收如果子 pom 中没有引用这个依赖的话,其实也没有真正的引入,子 pom 也可以自己定义<version>,那么就以子 pom 定义的为准。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>con.solomon.springcloud</groupId>
<artifactId>cloud2020</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEcoding>UTF-8</project.build.sourceEcoding>
<maven.complier.source>1.8</maven.complier.source>
<maven.complier.target>1.8</maven.complier.target>
<junit.version>4.12</junit.version>
<log4j.version>1.2.17</log4j.version>
<lombok.version>1.16.18</lombok.version>
<mysql.version>5.1.47</mysql.version>
<druid.version>1.1.16</druid.version>
<mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<!-- 默认值是type = jar,表示引入的依赖时一个jar包,等于pom表示引入的依赖时一个pom工程,
它会引入下载该jar包的所有依赖,父pom中加了type标签,子pom中必须加入 -->
<type>pom</type>
<!-- 用于子模块的多个继承,它只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置-->
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<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或者 optional = false表示传递依赖 -->
<optional>true</optional>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!-- 使用maven插件来构建,将springBoot打成jar包并执行 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- fork = true 表示将创建一个新的 JVM 来运行编译器,速度有点慢,但隔离效果好,使用 springboot的热加载devtools时,需要设置true才会生效 -->
<fork>true</fork>
<!-- 支持静态文件热部署 -->
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
3、完成 pom 之后,执行 Maven 生命周期中的 install,为了方便可以点击下图按钮【Skip Tests】跳过 test 环节
image.png