记录一下springcloud父项目

前言:对于什么是springcloud以及注册中心,网关这些表示什么,怎么来的等我就不写了,网上多的是这里做记录,一个项目就搭建一次,然后就开发几个月,避免忘记做个记录

创建父项目

第一种

  1. 创建项目时选择:Spring Inititlizr选择Spring Inititlizr

  2. 然后选择项目架构为 Maven POM在这里插入图片描述

  3. 剩下的按照自己的习惯填写

    项目创建完成,需要改造为springcloud父项目

  4. 手动增加

    <modules>
          <!--<module></module>-->
    </modules>
    也可以不增加,后面创建子项目时会自动加载,如果没有加载则手动加上(可能会遇到)
    添加
    <packaging>pom</packaging> 必须
    
  5. 在properties模块中增加

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <spring-cloud.version>Hoxton.BUILD-SNAPSHOT</spring-cloud.version>
    

    前两句是固定的,最后一个是springboot和cloud之间的版本关系,两者是对应的,所以这里不能乱填
    可以去: https://start.spring.io/info 查看版本之间的对应关系
    这里只展示了springcloud的对应模块

    "spring-cloud": {
    	"Finchley.M2": "Spring Boot >=2.0.0.M3 and <2.0.0.M5",
    	"Finchley.M3": "Spring Boot >=2.0.0.M5 and <=2.0.0.M5",
    	"Finchley.M4": "Spring Boot >=2.0.0.M6 and <=2.0.0.M6",
    	"Finchley.M5": "Spring Boot >=2.0.0.M7 and <=2.0.0.M7",
    	"Finchley.M6": "Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1",
    	"Finchley.M7": "Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2",
    	"Finchley.M9": "Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE",
    	"Finchley.RC1": "Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE",
    	"Finchley.RC2": "Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE",
    	"Finchley.SR4": "Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT",
    	"Finchley.BUILD-SNAPSHOT": "Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3",
    	"Greenwich.M1": "Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE",
    	"Greenwich.SR5": "Spring Boot >=2.1.0.RELEASE and <2.1.15.BUILD-SNAPSHOT",
    	"Greenwich.BUILD-SNAPSHOT": "Spring Boot >=2.1.15.BUILD-SNAPSHOT and <2.2.0.M4",
    	"Hoxton.SR4": "Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT",
    	"Hoxton.BUILD-SNAPSHOT": "Spring Boot >=2.3.0.BUILD-SNAPSHOT"
    },
    

    然后这里选的最新的Hoxton.BUILD-SNAPSHOT 对应springboot版本在2.3.0.BUILD-SNAPSHOT以上

  6. 增加cloud模块配置也是固定的

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

到了这里xml中的配置修改就成了cloud的父项目的配置
PS:对于项目自带的一些引入的jar包配置等,自己根据实际情况删除不删也行,一般父项目会引入的jar包都是子项目会用的,公共的,例如工具jar包。
当然如果觉得下载jar包慢,可以配置自己的远程仓库

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>地址</url>
    </repository>
</repositories>

最后整个父项目的pom.xml组成大概就是

<!-- 头 -->
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 基本信息 -->
<modelVersion>4.0.0</modelVersion> <!-- 不可删除 -->
<parent><!-- parent这一块都可删除 -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.RC1</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.demo</groupId><!-- 不可删除 -->
<artifactId>cloud</artifactId><!-- 不可删除 -->
<version>0.0.1-SNAPSHOT</version><!-- 不可删除 -->
<name>cloud</name><!-- 不可删除 -->
<packaging>pom</packaging><!-- 不可删除 -->
<description>Demo project for Spring Boot</description><!-- 可删除 -->
<!-- 不可删除。项目介质信息 -->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Hoxton.BUILD-SNAPSHOT</spring-cloud.version>
</properties>
<!-- dependencies这一块可以删除。原生pom生成的导入的jar包。如有公共的jar包使用,如切面日志的jar包,
工具的jar包可以在父项目中导入 -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>
<!-- 不可删除。项目springboot的版本是上面的<parent>模块,作为父项目,版本和cloud对应 -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<!-- 不可删除,打包,不需要也可删除 -->
<build>
	<plugins>
	    <plugin>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-maven-plugin</artifactId>
	    </plugin>
	</plugins>
</build>

到此父项目创建完毕

第二种

  1. 创建项目选择maven在这里插入图片描述
  2. 剩下的一路按照自己心意就行
  3. 最后的结果和第一种一样,自己手动增加一些,删除一些,修改一些。
    PS:maven创建的默认会生成一大堆东西,其实都用不到。要删很多。
    最后最精简的父项目配置是
<!-- 头 -->
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- 基础信息 -->
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.demo</groupId>
    <artifactId>cloud</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>cloud</name>
    
    <!-- 作为父类必须pom -->
    <packaging>pom</packaging>
    
    <!-- 介质信息 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
    </properties>
    <!-- boot与cloud版本关系 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

如有错误,欢迎指出。作为记录作用,避免以后再次搭建项目时忘记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值