一、新建 Maven 父级项目
1、选择通过Maven原型构建项目

2、输入GAV

3、注意此处要选择本地 Maven,不要使用 idea自带的 Maven3

4、点击 Finish 完成,然后 Maven 会下载构建需要的 jar 包,需要稍等片刻。然后删掉父级的 src等

二、idea 环境设置
1、设置编码

2、设置 Java 编译版本

3、适用注解

4、(选做)根据个人习惯,忽略掉一些无关文件,习惯添加 .impl;.idea;

三、完善父级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 环节

网友评论