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

这篇具有很好参考价值的文章主要介绍了项目中我们各个微服务的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下载到我们库中。
然后在别的模块中进行引用即可。文章来源地址https://www.toymoban.com/news/detail-423336.html

到了这里,关于项目中我们各个微服务的POM详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PaddleX入门教程3:开始使用我们自己的模型进行推理

    首先我们要从网上下载几张图片,一张菠菜的、一张胡萝卜的、一张茄子的、一张西红柿的,建议找一些相对辨识度比较高的。因为我们现在的模型,可能没有那么强大。 如下:保存为jpg格式, 注意文件名的命名 。 然后,将 这些图片放置到前面我们的模型目录下。  此时

    2024年02月07日
    浏览(36)
  • 我们都低估了GPT-4,它才是梦开始的地方

    从今年开始 最近这两个月 AI技术带来的冲击一个接一个 我们的团队都在忙着研究各种AI 性能力这个方面 还真不如自己马上上手 用这些软件感受来的那么强烈 我觉得至少有几个产品 大家可以去试一下 第一 大家赶紧去看一个church GBT plus的账号 然后亲身体验一下GPT4的底层能力

    2023年04月12日
    浏览(27)
  • AI 图像生成工具可以取代摄影师吗?让我们从原理开始聊聊

    AI 的风已经吹向了每一个人,在这篇文章中我们一起来聊一聊 AI 图像生成的原理以及未来。 作为一个非职业的摄影爱好者,我通常会在 Instagram 上面搜罗各种各样的优质图片并将其放进我的收藏夹。其中,有一位我关注了很久的德国摄影师,他的作品有很多值得我学习的地方

    2024年02月03日
    浏览(34)
  • Pom.xml详解

    目录 1、Maven的下载安装 2、什么是pom? 3、较完整的pom元素 4、默认生成Maven工程的pom内容 5、自定义的属性变量 6、依赖管理 6.1、整体依赖关系列表 6.2、依赖关系的传递性 6.3、依赖传递可能造成的问题 6.3.1、scope依赖范围 6.3.2、依赖调节 6.3.3、可选依赖(6.4.2中详解) 6.3.4、

    2024年02月02日
    浏览(28)
  • pom文件详解

    上文我们介绍了maven的setting文件。今天我们来总结一下,maven中另一个重要文件,pom文件。 POM(Project Object Model)文件是Maven项目的核心文件之一。它是一个XML文件,描述了项目的基本信息、依赖项、构建和发布等信息。POM文件是Maven的重要组成部分,可以帮助开发者管理和构

    2024年02月05日
    浏览(15)
  • ssm项目/pom.xml

    用处:好像是附网址            “properties”是 Maven 项目中的一个配置项,用于设置项目的配置信息。 其中,“project.build.sourceEncoding”——用于设置构建过程中使用的字符编码,“maven.compiler.source”——用于设置编译器使用的源代码版本,              “maven.compiler

    2024年02月08日
    浏览(83)
  • 【Spring教程29】Spring框架实战:从零开始学习SpringMVC 之 服务器响应知识全面详解

    欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》,本文的上一篇为《SpringMVC 之 请求与请求参数详解》 上一节我们说了SpringMvc请求知识,这一节

    2024年02月03日
    浏览(51)
  • Maven--pom.xml文件详解

    1.pom简介 pom指的是project object model,又叫项目对象模型。Maven的pom文件是一个XML文件,用于描述项目的各种属性、依赖和构建信息,包括项目的名称、版本、许可证、作者、描述、依赖关系、构建过程、插件等。总的来说,POM文件是Maven工程的基本工作单元,它包含了项目的所

    2024年01月19日
    浏览(35)
  • 简介maven核心:pom项目对象模型

    Maven 意思是知识的积累者,最初是为了简化 Jakarta Turbine 项目中的构建过程。有几个项目,每个项目都有自己的 Ant 构建文件,它们都略有不同。JAR 被检入 CVS。我们想要一种标准的方式来构建项目,清楚地定义项目的组成,发布项目信息的简单方法,以及在多个项目之间共享

    2024年03月09日
    浏览(43)
  • maven的pom.xml文件详解

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包