美文网首页
maven根据环境引入不同的依赖

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

作者: Alen_ab56 | 来源:发表于2022-12-28 11:22 被阅读0次

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

如果编译期用到了依赖的具体类,则需要提供一个编译期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的时候决定的

相关文章

网友评论

      本文标题:maven根据环境引入不同的依赖

      本文链接:https://www.haomeiwen.com/subject/xptzqdtx.html