zoukankan      html  css  js  c++  java
  • 通过maven-war-plugin插件对war包分环境打包

    针对多环节,从源头打包入手,当然这些都可以在运维阶段用脚本进行替换来代替

    resources/environment/下有四个环境,local本地、dev开发、test测试、pre预上线、prod生产,打包命令如下:

        # 本地
        mvn clean package -P local
        # 开发
        mvn clean package -P dev
        # 测试
        mvn clean package -P test
        # 预上线
        mvn clean package -P pre
        # 生产
        mvn clean package -p prod

    说明:每个环境的文件夹下的配置文件可以全量放,也可以试增量,最终会覆盖

    项目目录如下所示:

    部分POM如下说是:

        <profiles>
            <!-- 本地环境 -->
            <profile>
                <id>local</id>
                <properties>
                    <package.environment>local</package.environment>
                </properties>
                <!-- 是否默认 -->
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <!-- 开发环境 -->
            <profile>
                <id>dev</id>
                <properties>
                    <package.environment>dev</package.environment>
                </properties>
            </profile>
            <profile>
                <!-- 测试环境 -->
                <id>test</id>
                <properties>
                    <package.environment>test</package.environment>
                </properties>
            </profile>
            <profile>
                <!-- 预上线 -->
                <id>pre</id>
                <properties>
                    <package.environment>pre</package.environment>
                </properties>
            </profile>
            <profile>
                <!-- 生产环境 -->
                <id>prod</id>
                <properties>
                    <package.environment>prod</package.environment>
                </properties>
            </profile>
        </profiles>
    
        <build>
            <finalName>ssm-framework</finalName>
            <plugins>
                
                <!-- war包打包组件 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${maven-war-plugin.version}</version>
                    <configuration>
                        <webResources>
                            <resource>
                                <!-- 元配置文件的目录,相对于pom.xml文件的路径 -->
                                <directory>src/main/webapp/WEB-INF</directory>
                                <!-- 是否过滤文件,也就是是否启动auto-config的功能 -->
                                <filtering>true</filtering>
                                <!-- 目标路径 -->
                                <targetPath>WEB-INF</targetPath>
                            </resource>
                            <resource>
                                <directory>src/main/resources/environment/${package.environment}</directory>
                                <targetPath>WEB-INF/classes</targetPath>
                                <filtering>true</filtering>
                            </resource>
                        </webResources>
                    </configuration>
                </plugin>

    说明:标红部分

    示例工程:https://github.com/easonjim/ssm-framework

  • 相关阅读:
    JS实现简单的运行代码 & 侧边广告
    JS封装Cookie
    [PHP]array_map与array_column之间的关系
    [PHP]json_encode增加options参数后支持中文
    [CI]CodeIgniter特性 & 结构
    [PHP]PHP缓存机制之Output Control
    [PHP]将回调函数作用到给定数组的单元上
    [Apache]网站页面静态化与Apache调优(图)
    [PHP]PHP自定义遍历目录下所有文件的方法
    [PC]PHPCMS配置文件的读取
  • 原文地址:https://www.cnblogs.com/EasonJim/p/9126442.html
Copyright © 2011-2022 走看看