编辑Maven的plist XML文件?

时间:2012-02-03 09:16:20

标签: xml maven xpath maven-plugin edit

我有一个XML文件,我保留了我的应用程序的相关默认值,例如服务器URL。我使用Maven来构建我的应用程序。我的目标是根据我将使用的环境编辑XML并更改服务器URL,例如开发,测试和生产环境。

XML文件属于plist类型,无法更改。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ServerURL</key>
    <string>https://server_url</string>

    <!-- Other properties goes here -->

</dict>
</plist>

有谁知道如何解决这个问题?

我找到了 xmltask 但没有关于如何做这样的事情的工作示例。我想要一些非常简单的东西来执行像这样的简单任务。是否有一个简单的Maven插件可以解决这个问题?我知道XPath,使用简单的XPath表达式更改XML文件会很好。

1 个答案:

答案 0 :(得分:2)

我建议使用maven-resources-plugin的配置文件和资源过滤来完成此任务。

例如,在XML配置文件中,您可以指定服务器URL,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ServerURL</key>
    <string>${server.url}</string>

    <!-- Other properties goes here -->

</dict>
</plist>

同时,在pom.xml文件中,您应该定义server.url属性

<properties>
  <server.url>http://default_url</server.url>
</properties>

和一个(或几个)将修改其值的配置文件

<profiles>
  <profile>
    <id>custom</id>
    <properties>
      <server.url>http://custom_url</server.url>
    </properties>
  </profile>
</profiles>