博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven 打包时动态替换properties资源文件中的配置值
阅读量:6658 次
发布时间:2019-06-25

本文共 1066 字,大约阅读时间需要 3 分钟。

pom build节点下面添加resource配置:

 

[html]   
 
  1. <resources>  
  2.            <resource>  
  3.                <directory>src/main/resources/</directory>  
  4.                <filtering>true</filtering>  
  5.                <includes>  
  6.                    <include>**/*.properties</include>  
  7.                </includes>  
  8.            </resource>  
  9.            <resource>  
  10.                <directory>src/main/resources/</directory>  
  11.                <filtering>false</filtering>  
  12.                <includes>  
  13.                    <include>**/*.xml</include>  
  14.                </includes>  
  15.            </resource>  
  16.        </resources>  
[html]   
 
  1.   

resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。

 

上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。

接下来我们配置两个profile,一个是环境,一个是正式环境配置:

 

[html]   
 
  1. <profiles>  
  2.         <profile>  
  3.             <id>dev</id>  
  4.             <properties>  
  5.                 <jest.urls>http://n2:9200,http://n4:9200</jest.urls>  
  6.             </properties>  
  7.             <activation>  
  8.                 <activeByDefault>true</activeByDefault>  
  9.             </activation>  
  10.         </profile>  
  11.   
  12.         <profile>  
  13.             <id>production</id>  
  14.             <properties>  
  15.                 <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>  
  16.             </properties>  
  17.         </profile>  
  18.     </profiles>  

我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:

 

 

jest.urls=${jest.urls}

 

然后我们执行maven打包命令:clean package -DskipTests -Pdev

查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。

 

转载地址:http://itqto.baihongyu.com/

你可能感兴趣的文章
微型项目实践(2):用测试驱动代码生成
查看>>
【读书笔记《Android游戏编程之从零开始》】10.游戏开发基础(View 游戏框架)...
查看>>
linux 编译安装nginx
查看>>
C# 有关文件路径的操作
查看>>
如何使用Case进行简单判断
查看>>
WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用
查看>>
iBATIS.net的OR映射篇
查看>>
Node.js 2017.11.5-2017.11.16期间制作的图片爬虫总结
查看>>
C# 扩展方法[学习]
查看>>
编译安装的php升级版本
查看>>
armv8(aarch64)linux内核中flush_dcache_all函数详细分析【转】
查看>>
Alibaba Cloud MaxCompute Service Launches in India Accelerating Upgrades in Big Data Industry
查看>>
JDK5.0新特性系列---11.5.2线程 同步装置之CountDownLatch
查看>>
asp.net截取字符串方法
查看>>
linux进程地址空间--vma的基本操作【转】
查看>>
[Android Studio] Android Studio如何快速生成get,set,tostring,构造函数
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
嵌入式Linux上通过boa服务器实现cgi/html的web上网【转】
查看>>
GNU make manual 翻译( 一百三十六)
查看>>
ftrace的使用【转】
查看>>