一、Maven 模块化开发(多个项目聚合成一个maven 项目)

前言

前面学习了那么多的springboot 的知识,但是这不是我们的目的,我们要向微服务、分布式进军。所以我们接着开始学习Spring cloud 啦。Spring cloud 为微服务提供了一整套企业级解决方案,且全部都是基于Springboot的,所以我们学习使用起来应该还好。关于Springcloud 的详细信息大家自行百度吧哈哈。

既然是要学Spring cloud ,标题似乎有点不符合文章内容。其实我也很纠结要不要把这个放第一篇,想想还是放了。因为我们知道微服务就是将项目拆分成多个单一功能的模块,一整套下来,需要的项目非常多。就Springcloud 而言,最常见的就包含 配置中心、注册注册、负载均衡、熔断处理、调度中心等等。所以要将这些项目管理起来也是非常重要的,所以思来想去,还是将这篇文章放在第一篇了,如果知道这篇的内容可以直接跳过,算是准备工作吧。

创建父级项目

我们可以直接在idea 中创建一个maven 项目,作为父级项目,一个手动创建一个文件夹 ,然后idea 中打开,转成maven 项目。父级项目中,我们将src 文件夹删掉,留下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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>cn.quellanan</groupId>
    <artifactId>SpringCloud</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <modules>
        <module>demo</module>
    </modules>

</project>

这里只用注意将 packaging 设置成pom,我们的子模块就设置在modules 中。
这里说明一下,这里的仅仅是初始版本,后面可以修改的。父级的pom.xml 文件的作用,主要是添加一下统一的依赖,保证各个子模块之间的依赖的版本一致,也是便于管理。所有内容基本上和普通maven 项目的pom 文件差不多的。

另外我们设置的标识也要注意,因为我们在子模块项目中就会引用它们

	<groupId>cn.quellanan</groupId>
    <artifactId>SpringCloud</artifactId>
    <version>1.0.0</version>

创建子模块

我们现在有父级项目,可以右键项目–》new–>module 来创建我们的子项目。
在这里插入图片描述
整个流程大概就是这样的,老年人操作有点慢。
在我们的子模块的pom 文件中,我们修改 一下 parent ,将parent 指向我们父级项目就可以了。

<parent>
        <groupId>cn.quellanan</groupId>
        <artifactId>SpringCloud</artifactId>
        <version>1.0.0</version>
    </parent>

其他的应用还还是项目自身的,并且可以继承和使用父级的pom.xml 依赖。

同时我们需要在父级项目的pom.xml 文件中加入对应的module

	<modules>
        <module>demo</module>
        <module>demo2</module>
    </modules>

这样不管是单个模块独立使用,还在整个父级项目一起操作都是非常方便的。
对整个父级项目执行mvn clean 、mvn package 等操作,所以的子模块都会同步执行。

番外

好了,这一章没讲什么东东,主要是一个准备工作,下篇开始让我们一起走进Springcloud 的世界吧。

后续加油♡

欢迎大家关注个人公众号 “程序员爱酸奶”

分享各种学习资料,包含java,linux,大数据等。资料包含视频文档以及源码,同时分享本人及投递的优质技术博文。

如果大家喜欢记得关注和分享哟❤

file

猜你喜欢

转载自blog.csdn.net/qq_27790011/article/details/103862826