zoukankan      html  css  js  c++  java
  • 使用maven profile 构建不同环境引用不同的值

    需要做的配置如下

    <profiles>
            <profile>
                <id>dev</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <build>
                    <filters>
                        <filter>vars/vars.dev.properties</filter>
                    </filters>
                </build>
            </profile>
            <profile>
                <id>sit</id>
                <build>
                    <filters>
                        <filter>vars/vars.sit.properties</filter>
                    </filters>
                </build>
            </profile>
            <profile>
                <id>pre</id>
                <build>
                    <filters>
                        <filter>vars/vars.pre.properties</filter>
                    </filters>
                </build>
            </profile>
            <profile>
                <id>prod</id>
                <build>
                    <filters>
                        <filter>vars/vars.prod.properties</filter>
                    </filters>
                </build>
            </profile>
        </profiles>

    其中vars所在的目录为

    pom文件中一定要有如下的配置 缺一不可

    <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <useDefaultDelimiters>false</useDefaultDelimiters>
                        <delimiters>
                            <delimiter>$[*]</delimiter>
                        </delimiters>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
            
            <resources>
                <resource>
                    <directory>${basedir}/src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>

    尤其要注意 resources标签,只有包含在resources标签里面的配置文件 里面的${key}才会被替换掉,如果不配resources这种配置文件是不会生效的。

    更多信息可以参考 

    http://www.cnblogs.com/wangyang108/p/6030735.html

    使用替换不仅仅properties文件可以 xml也是可以的 

    这种工具的好处就是log日志的位置可以动态指定了,不同的发版环境配不同的环境变量

    vars.dev.properties文件中有下列变量
    log.path=f:/rdrslogs
    
    log4j.properties中配置如下
    log4j.appender.logfile.File=$[log.path]\logs\rdrs_console_info.log
    
    打包后实际的路径为log4j.appender.logfile.File=f:/rdrslogs\logs\rdrs_console_info.log
  • 相关阅读:
    23种设计模式(1)
    设计模式六大原则
    关于设计模式
    《代码整洁之道》整理
    MySQL 查询优化
    互联网流量下的分层实验平台是咋做的
    机器学习web服务化实战:一次吐血的服务化之路
    RabbitMQ和Kafka到底怎么选(二)?
    RabbitMQ和Kafka到底怎么选?
    基于海量词库的单词拼写检查、推荐到底是咋做的?
  • 原文地址:https://www.cnblogs.com/juniorMa/p/7280207.html
Copyright © 2011-2022 走看看