自带的`profiles`实现分环境打包

2018-05-24  本文已影响0人  Nisus_Liu

assembly虽然功能全, 但体验发现貌似打包的速度稍慢于仅用自带的profiles配置.

配置

 <profiles>
        <!-- 本地开发环境 -->
        <profile>
            <id>dev</id>
            <build>
                <resources>
                    <resource>
                        <directory>${profiles.dir}/dev</directory>
                    </resource>
                    <!--<resource>-->
                    <!--<directory>${profiles.dir}/type/3w</directory>-->
                    <!--</resource>-->
                </resources>
            </build>
            <properties>
                <env>dev</env>
            </properties>
            <!--默认打包的环境-->  <!--不加默认貌似不能打包进来配置文件, 因为maven不知道该打包进来谁-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <!-- 测试环境 -->
        <profile>
            <id>test</id>
            <build>
                <resources>
                    <resource>
                        <directory>${profiles.dir}/test</directory>
                    </resource>
                    <!--<resource>-->
                    <!--<directory>${profiles.dir}/type/3w</directory>-->
                    <!--</resource>-->
                </resources>
            </build>
            <properties>
                <package.environment>test</package.environment>
            </properties>


        </profile>

        <!-- 生产环境 -->
        <profile>
            <id>prod</id>
            <build>
                <resources>
                    <resource>
                        <directory>${profiles.dir}/prod</directory>
                    </resource>
                </resources>
            </build>

            <properties>
                <package.environment>prod</package.environment>
            </properties>
            <!--默认打包的环境-->
            <!--<activation>-->
            <!--<activeByDefault>true</activeByDefault>-->
            <!--</activation>-->
        </profile>
    </profiles>

注意:

  1. 若想使用公共+分环境的模式, 分环境的配置不要放在resources目录下, resources目录留着放公共配置文件.
  2. resources下的配置文件需要手动指定加入classes目录下.
 <!-- 配置maven项目编译插件,即jdk -->
    <build>
        <!--<finalName>${project.artifactId}</finalName>-->
        <finalName>kg-anti-fraud-${project.version}</finalName>


        <resources>
            <!--
                java源文件夹指定资源也打包进artifact, 默认是只打包.java的-->
            <resource>
                <directory>src/main/java</directory>        <!--指定了配置文件所在地-->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/*.tld</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <!--resources目录下的配置文件也要打包-->
            <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <!--?排除不了?-->
            </resource>
        </resources>
    </build>

貌似排除功能excludes不好使.

上一篇下一篇

猜你喜欢

热点阅读