项目中我们各个微服务的POM详解

我们一开始一定要检查我们的IDEA中maven有没有和我们的安装的位置对应上。否则后期很容易报错

①、在我们的父模块中有几个很重要的标签:

第一个是我们的Modules标签,后期我们加入新的服务会自动在里面添加

<modules>
        <module>store-gateway</module>
        <module>store-commons</module>
        <module>store-front-user</module>
    </modules>

②、打包的方式:我们在父级工程或者聚合项目中,使用POM:表示我们父工程不打包,仅仅把它作为我们的POM依赖文件

<packaging>pom</packaging>

1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。
2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。
3.jar工程:将会打包成jar用作jar包使用,packaging默认类型。

③、parent标签:通常用于指定我们的这个模块属于哪个工程。
因为我们是springboot的项目,所以我们的父级项目肯定是springboot,而我们的项目中的各个服务父类项目都是我们父类
既然是我们的父类是springboot,那么我们的各个依赖都会根据它(springboot版本)来进行导入,如果想导入别的版本自己标明

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.9.RELEASE</version>
        <relativePath/>
    </parent>

④、properties表示我们的统一的版本,方便后期的维护和管理,如果没有指定,我们统一默认使用的是我们的springboot对应版本的版本。(可以按住Ctrl点击springboot版本,进去后再次点击即可查看)

<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.SR10</spring-cloud.version>
        <mysql.version>5.1.47</mysql.version>
        <mybatis.version>2.1.1</mybatis.version>
        <druid.version>1.2.5</druid.version>
        <mybatis-plus.version>3.5.2</mybatis-plus.version>
        <elasticsearch.version>7.8.0</elasticsearch.version>
    </properties>

⑤、dependencyManagement:其实他并不是导入真的依赖,而是我们的子工程如果使用ga(即groupId,artifactId),就可以导入我们父工程指定的版本(在properties中定义的)
我们需要晓得一点,如果我们在dependencyManagment依赖中如果导入的是起步依赖的话(例如我们Spring-Cloud alibba-dependencies,spring-cloud-alibaba-nacos的GA就可以使用nacos,因为我们的起步依赖点开里面就有很多GA),我们的子类服务导入相应的依赖就可以使用。

<dependencyManagement>

        <dependencies>
            <!-- springCloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--nacos的管理依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- mysql驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!--mybatis-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis.version}</version>
            </dependency>

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

⑥、如果我们加在我们的<dependecyManagment 标签中,那么我们子模块的每一个都会拥有,不用我们的一个个导入。

 <dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
 <dependencies/>

总结:如果我们在项目中想一个模块作为Common模块,让每个人都可以引用他的里面所有类,我们需在他的lifecycle中install下载到我们库中。
然后在别的模块中进行引用即可。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: POM(Project Object Model)文件是Maven项目的配置文件。它包含了项目的基本信息,如项目名称、版本、依赖等。使用Maven构建项目时,Maven会读取POM文件并根据文件内容进行构建。 POM文件通常包含如下内容: - 项目基本信息,包括项目名称、版本、URL等。 - 项目依赖信息,包括依赖的库、工具、插件等。 - 插件信息,用于指定Maven如何构建项目。 - 构建设置,用于指定项目的构建方式。 POM文件的作用是统一管理项目的依赖和构建设置,使得项目的构建和部署变得更加简单。 ### 回答2: pom文件指的是Maven项目的Project Object Model(Project Object Model)文件。它是一个用于描述Maven项目的配置文件,包含了项目的基本信息、依赖关系、构建插件等重要的配置信息。 首先,pom文件提供了项目的基本信息,如项目名称、版本号、作者等。通过这些信息,我们可以清晰地知道项目的基本属性,便于项目的管理和维护。 其次,pom文件定义了项目的依赖关系。通过在pom文件声明依赖的坐标,Maven可以自动下载并管理项目所需的第三方库或模块。这使得项目的构建更加方便和灵活,同时也避免了手动管理依赖的麻烦。 此外,pom文件还包含了构建插件的配置信息。构建插件可以执行各种任务,如编译源代码、运行测试、生成文档等。通过在pom文件配置构建插件,我们可以根据项目的需求自定义构建过程,提高项目的开发效率和质量。 另外,pom文件还可以定义项目的构建生命周期。通过在pom文件配置各种构建阶段和目标,我们可以按照一定的顺序和规则执行构建过程。这样,在项目的构建过程,我们可以确保各个构建阶段的顺序和执行顺利性,确保项目的正确构建,并且可以根据需要进行扩展和定制。 总之,pom文件在Maven项目起着重要的作用。它提供了项目的基本信息、定义了项目的依赖关系、配置了构建插件和构建生命周期等。通过合理利用pom文件,我们可以更好地管理和构建项目,提高项目的开发效率和质量。 ### 回答3: 在Java项目POM(Project Object Model)文件是用来管理项目的配置信息的。它是Maven项目的核心文件之一,主要用于定义项目的依赖关系、构建插件、仓库地址等信息。 首先,POM文件用于定义项目所需的依赖关系。在POM文件,我们可以指定需要引入的外部库和框架,以及它们的版本信息。这样,在构建项目时,Maven会根据POM文件的依赖配置自动下载所需的库,并与项目一起打包。通过使用POM文件管理依赖,我们可以简化项目配置过程,确保项目能够正确地构建和运行。 其次,POM文件是指定项目构建插件的重要工具。Maven提供了许多构建插件,用于执行项目编译、测试、打包等操作。通过在POM文件配置相应的插件,我们可以自定义项目构建过程,满足项目特定的需求。例如,可以配置编译器版本、测试框架、打包格式等选项,以及执行特定的构建目标。 另外,POM文件也包含了项目的仓库地址。Maven使用仓库来存储项目依赖的库和插件。在POM文件指定的仓库地址会告诉Maven去哪里查找和下载所需的依赖文件。通过正确配置POM文件的仓库信息,我们可以确保Maven能够顺利地获取项目所需的依赖,从而避免因下载失败或依赖缺失而导致的构建错误。 总结来说,POM文件是用于管理项目配置信息的重要文件,通过它可以定义项目的依赖关系、构建插件和仓库地址等。合理配置POM文件可以简化项目配置、满足项目需求,并确保项目能够顺利构建和运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值