美文网首页
技术预研第三天丨创建聚合父工程

技术预研第三天丨创建聚合父工程

作者: 白晓明 | 来源:发表于2020-08-06 21:43 被阅读0次

无论是团队之前使用的分布式开发模式,还是自己在学习时多多少少都遇到过将多模块共有的依赖管理统一放在一个pom文件中,而这个pom文件便在父工程中,子工程继承父工程即可。本次学习Spring Cloud是尚硅谷阳哥的视频为主,购买的书籍为辅,这里做笔记以便加深记忆。

每个人都有自己构建项目的一套流程,而在看完阳哥视频后,发现阳哥的构建方法是比较简洁的一套流程,没有多余的文件。而阳哥始终坚持一套标准,即约定 > 配置 > 编码,只有前期工作做好了,我们才能在未来编码的时候不会去填坑。犹如盖楼一样,如果地基出现问题,那楼是不可能盖起来的,即使盖起来,也会存在一些问题。

约定

JDK版本:1.8
Maven版本:3.6.2
SpringBoot版本:2.2.2.RELEASE
SpringCloud版本:Hoxton.SR1

配置

1.更改父工程pom文件包类型

<packaging>pom</packaging>

2.统一管理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>
  </properties>

3.使用DependencyManagement管理依赖项
Maven使用dependencyManagement元素来提供一种管理依赖版本号的方式,通常只有在项目的最顶层的父POM中看到该元素。使用该元素只是声明了依赖,并不实现引入依赖,因此子项目需要显示的声明需要使用的依赖项。若果不在子项目中声明依赖,是不会从项目中继承下来。使用该元素方便Jar包版本升级或切换版本号。

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.2.2.RELEASE</version>
        <type>pom</type>
        <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>
</dependencyManagement>

4.使用mvn:install将父工程发布到仓库方便子工程继承

构建子工程模块

按照阳哥构建方式来,简单快捷,不糊涂!!!
1.建模块


构建模块

2.改POM
在子模块的pom.xml文件中加入依赖项

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>

3.写YML

#配置端口号
server:
  port: 8001
#配置项目名称
spring:
  application:
    name: cloud-payment-service

4.主启动

package com.ming.it;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class PaymentServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaymentServiceApplication.class, args);
    }
}

此处我们将构建父工程和子模块都做了简单总结,后面我们根据自己的需要对子模块进行完善,以及多个子模块的创建编写。

相关文章

  • 技术预研第三天丨创建聚合父工程

    无论是团队之前使用的分布式开发模式,还是自己在学习时多多少少都遇到过将多模块共有的依赖管理统一放在一个pom文件中...

  • 聚合工程(1) -- 父工程创建

    New Project: 输入项目名称: 选择maven地址: 字符编码:(统一写为UTF-8) 注解生效激活: ...

  • nacos服务提供者

    一、创建服务提供者 IDEA中创建聚合工程Nacos作为父工程 二、依赖管理 父POM 消费者依赖 三、配置文件 ...

  • Spring Cloud Alibaba-Nacos-服务提供者

    一 创建服务提供者 IDEA中创建聚合工程Nacos作为父工程 二 依赖管理 父POM 消费者依赖 三 配置文件...

  • springboot创建maven聚合项目(附下载demo)

    maven介绍 使用idea构建聚合工程1. 创建父工程2. 创建子工程3. 添加项目依赖4. 添加maven依赖...

  • Protobuf On HTTP 技术预研 (附代码)

    Protobuf 技术预研 Protobuf 技术预研一、背景二、Protobuf说明2.1 什么是Protobu...

  • Missing artifact com.github.page

    创建maven项目pom.xml出现错误(依赖Missing) Maven的依赖问题 在聚合模块时候,发现在父工程...

  • 二、尚筹网-后台-环境搭建

    1、创建工程 1.1、项目架构图 parent父工程:用于依赖管理,模块聚合,对jar包进行统一管理; webui...

  • 技术预研

    只有预研那些看起来没啥卵子用的东西,才能在这些东西正儿八经有用的时候,快速跟进。

  • 技术预研

    技术预研是要识别并抓住至少未来五年内的技术机遇。华为于1998年年底成立了预研部,负责开展前瞻性技术的研发。 华为...

网友评论

      本文标题:技术预研第三天丨创建聚合父工程

      本文链接:https://www.haomeiwen.com/subject/rzitdktx.html