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

2022-12-28  本文已影响0人  Alen_ab56

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

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

上一篇 下一篇

猜你喜欢

热点阅读