Maven - 从属性文件中获取值后,替换XML文件中的变量的解决方案

时间:2015-06-23 17:55:49

标签: maven

我需要使用从属性文件中获取的字段值编辑XML文件。

XML文件的格式如下。 ServiceConfig_Template.xml

 <field>
     <name>HTTP/Server</name>
     <value>${Server}</value>
 </field>
 <field>
     <name>HTTP/Port</name>
     <value>${Port}</value>
 </field>

我在每个环境(DEV,QA,PROD)的单独属性文件中定义了这些占位符变量(服务器和端口)的值。

=============================================== ====================

Application_DEV.properties

Server=DEV_Application_Server1

Port=8081

=============================================== ====================

Application_QA.properties

Server=QA_Application_Server11

Port=8082

=============================================== ====================

我需要填充具有占位符(${Server}${Port})变量的ServiceConfig_Template.xml文件;它们的值在属性文件(Application_DEV.properties)中定义,然后将编辑后的值写入不同的XML。

如何使用Maven查找属性文件中可用的变量占位符值,并相应地输出更新的XML文件(ServiceConfig_Template.xml)。

DEV的遗传输出应如下所示。

 <field>
     <name>HTTP/Server</name>
     <value>DEV_Application_Server1</value>
 </field>
 <field>
     <name>HTTP/Port</name>
     <value>8081</value>
 </field>

“ServiceConfig_Template.xml”中有100个这样的变量。如何使用Maven replacer插件查找使用${..}引号定义的变量字段值。

网站(http://code.google.com/p/maven-replacer-plugin/)中显示的示例,我认为只替换一个或几个字段。 我会请求帮助来获得“ServiceConfig_Template.xml”中所有变量字段的通用解决方案。

对此表示感谢。

由于 -Raghu

1 个答案:

答案 0 :(得分:1)

您可以使用properties-maven-plugin从文件加载属性,并使用pom.xml中的多个profiles指定使用哪些属性插件配置。