创建自己的第一个微服务---小李努力奋斗的一天

1.new project
创建自己的第一个微服务---小李努力奋斗的一天
2.创建父工程
创建自己的第一个微服务---小李努力奋斗的一天
3.编码 File 》 Settings》 Editor》 File Encodings
创建自己的第一个微服务---小李努力奋斗的一天
4.注册生效激活: File 》Settings 》 Build, Execution, Deployment | Compiler 》 Annotation Processors
创建自己的第一个微服务---小李努力奋斗的一天
5.java编译版本选择8
创建自己的第一个微服务---小李努力奋斗的一天
创建自己的第一个微服务---小李努力奋斗的一天
6.File Type 过滤,将下图框上的目录过滤掉
创建自己的第一个微服务---小李努力奋斗的一天

创建自己的第一个微服务---小李努力奋斗的一天

  <!--统一管理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>
    <log4j.version>1.2.17</log4j.version>
    <lombok.version>1.16.18</lombok.version>
    <mysql.version>8.0.16</mysql.version>
    <druid.verison>1.1.16</druid.verison>
    <mybatis.spring.boot.verison>1.3.0</mybatis.spring.boot.verison>
  </properties>

  <!--子模块继承之后,提供作用:锁定版本+子module不用谢groupId和version-->
  <dependencyManagement>
    <dependencies>
      <!--spring boot 2.2.2-->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.2.2.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--spring cloud Hoxton.SR1-->
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR1</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.2.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- MySql -->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
      </dependency>
      <!-- Druid -->
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>${druid.verison}</version>
      </dependency>
      <!-- mybatis-springboot整合 -->
      <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>${mybatis.spring.boot.verison}</version>
      </dependency>
      <!--lombok-->
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <!--junit-->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <!-- log4j -->
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

dependencyManagement 和dependencies 区别:
Maven 使用dependencyManagement 元素来提供管理依赖版本号的方式。
通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement 元素。
使用pom.xml 中的dependencyManagement 元素能让所有在子项目中引用一个依赖而不用显示列出版本号。Maven 会沿着父子层次向上走,直到一个拥有dependencyManagement 元素的项目,然后它就会使用这个dependencyManagement 元素中指定的版本号。
dependencyManagement 只声明依赖,并不引入实现,因此子项目需要显示的声明需要的依赖。
如果不在子项目中声明依赖,是不会在父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父类中继承该项,并且version 和scope 都获取自父pom.
如果子项目中制定了版本号,那么会使用子项目中指定的jar版本。

补充:
创建自己的第一个微服务---小李努力奋斗的一天

创建自己的第一个微服务---小李努力奋斗的一天

上一篇:Maven 依赖调解源码解析(七):总结


下一篇:Maven 依赖调解源码解析(六):dependencyManagement 版本锁定