使用maven profile 构建不同环境引用不同的值
Posted MaXianZhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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
以上是关于使用maven profile 构建不同环境引用不同的值的主要内容,如果未能解决你的问题,请参考以下文章