maven根据环境引入不同的依赖

引入说的是“运行时”而非编译期

如果编译期用到了依赖的具体类,则需要提供一个编译期compile的依赖


重点来了,如何实现不同环境引入不同的依赖?

<profiles>

        <profile>

            <id>dev</id>

            <!-- 默认激活 dev 环境 -->

            <activation>

                <activeByDefault>true</activeByDefault>

            </activation>

            <properties>

                <profiles.active>dev</profiles.active>

            </properties>

            <dependencies>

                <dependency>

                    <groupId>xx</groupId>

                    <artifactId>xx</artifactId>

                    <version>v1</version>

                </dependency>

            </dependencies>

        </profile>

        <profile>

            <id>test</id>

            <properties>

                <profiles.active>test</profiles.active>

            </properties>

            <dependencies>

                <dependency>

                    <groupId>xx</groupId>

                    <artifactId>xx</artifactId>

                    <version>v1</version>

                </dependency>

            </dependencies>

        </profile>

        <profile>

            <id>uat</id>

            <properties>

                <profiles.active>uat</profiles.active>

            </properties>

            <dependencies>

                <dependency>

                    <groupId>xx</groupId>

                    <artifactId>xx</artifactId>

                    <version>v1</version>

                </dependency>

            </dependencies>

        </profile>

        <profile>

            <id>deploy<!--表示线上--></id>

            <properties>

                <profiles.active>deploy</profiles.active>

            </properties>

            <dependencies>

                <dependency>

                    <groupId>xx</groupId>

                    <artifactId>xx</artifactId>

                    <version>v2</version>

                </dependency>

            </dependencies>

        </profile>

    </profiles>

可以看到,这样这样再那样就可以了

这样就实现了下线环境

注意:底层是通过maven打包时候的命令来实现的

mvn clean package -U -Denv=dev -Dmaven.test.skip=true -f ./pom.xml -P ${这里就是profile.active的值}

所以选择哪个依赖版本进行打包是maven package的时候决定的

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • Maven 主要内容 Maven的简介 简介 ​ Maven【[ˈmevən]】这个词可以翻译为"专家",“内行”...
    一纸油伞阅读 2,299评论 0 0
  • 1 Maven 介绍 Maven 翻译为"专家"、"内行"它是 Apache 下的一个纯 Java 开发的开源项目...
    Tian_Peng阅读 4,191评论 0 0
  • 第一节 实验一:根据坐标创建 Maven 工程 1、Maven 核心概念:坐标①数学中的坐标②Maven中的坐标③...
    氵亻亻阅读 3,359评论 0 3
  • Maven文档地址:https://www.runoob.com/maven/maven-intellij.htm...
    yangfhit阅读 3,923评论 0 0

友情链接更多精彩内容