美文网首页
maven根据环境打包不同的配置,资源文件

maven根据环境打包不同的配置,资源文件

作者: 不敢预言的预言家 | 来源:发表于2017-11-22 22:43 被阅读0次
    首先看下我的资源文件目录
    资源文件目录
    两个 log4j2.xml 文件,最外层的是开发环境用的,uat目录下的是测试环境用的。
    再看下我的pom.xml文件的结构目录
    pom.xml

    以下开始文件配置

    如果对配置文件的位置有疑问,请参照上面的pom.xml结构目录

    配置 【resources】
    <build>
        ···
        <resources>
            <resource>
                <!--资源文件目录-->
                <directory>src/main/resources</directory>
                <!--开启过滤,替换文件-->
                <filtering>true</filtering>
                <!--排除文件-->
                <excludes>
                    <exclude>uat/*</exclude>
                </excludes>
            </resource>
        </resources>
        ···
    </build>
    

    配置【profiles】
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <!--我的默认环境在最顶层,所以这个地方写空-->
                <package.environment></package.environment>
            </properties>
            <activation>
                <!--默认激活的环境-->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>uat</id>
            <properties>
                <package.environment>uat</package.environment>
            </properties>
        </profile>
    </profiles>
    

    配置【plugin】
    <build>
        <finalName>oilCard</finalName>
        <plugins>
            ···
            <!--war打包插件,指定资源打包
            指定环境打包:mvn -P uat package -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <archive>
                        <!--打包后不包括maven的描述文件-->
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                    <warName>${project.build.finalName}_${package.environment}</warName>
                    <!--打包的时候排除文件-->
                    <packagingExcludes>
                        src/main/resources/uat
                    </packagingExcludes>
                    <webResources>
                        <resource>
                            <!--替换要打包的资源到资源目录-->
                            <directory>src/main/resources/${package.environment}</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
        ···
    </build>
    

    打包命令:mvn -P uat package

    mvn package 和 mvn install 区别
    package是打包到当前目录中(默认target),install会把target下的资源推到资源仓库中。

    相关文章

      网友评论

          本文标题:maven根据环境打包不同的配置,资源文件

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