从Maven编辑plist XML文件?
我有一个XML文件,其中保存了应用程序的相关默认值,例如服务器URL。我使用Maven构建我的应用程序。我的目标是编辑XML并根据我将使用的环境(例如开发、测试和生产环境)更改服务器URL XML文件的类型为plist,无法更改从Maven编辑plist XML文件?,xml,maven,xpath,maven-plugin,edit,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/Propert
<?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>
服务器URL
https://server_url
有人知道如何解决这个问题吗
我已经找到了xmltask,但是没有关于如何实现类似的功能的工作示例。我想要一些非常简单的东西来完成像这样的简单任务。是否有一个简单的Maven插件可以解决这个问题?我知道XPath,最好使用一个简单的XPath表达式来更改XML文件。我建议使用配置文件和资源筛选来完成此任务 例如,在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>
服务器URL
${server.url}
同时,在pom.xml文件中,您应该定义server.url属性
<properties>
<server.url>http://default_url</server.url>
</properties>
http://default_url
以及一个(或多个)将修改其值的配置文件
<profiles>
<profile>
<id>custom</id>
<properties>
<server.url>http://custom_url</server.url>
</properties>
</profile>
</profiles>
习俗
http://custom_url
很抱歉,由于我的XML格式是固定的,因此此解决方案似乎不可用。我把我的问题编辑得有点具体。但这是一个很好的答案,前提是我有一个模糊的小问题:)格式可以固定,但内容应该灵活=)将元素值替换为${server.url}。复制资源时,请使用筛选将属性替换为实际值。请参阅文章以供参考。我不确定是否理解您的意思。由于格式是plist,标记必须是plist,我看不出这个解决方案对我有什么作用。Maven将根据使用的配置文件自动将${server.url}属性替换为正确的值。例如,如果您使用“mvn包”构建项目,Maven将使用${server.url}属性的默认值(在我的配置中)。如果您使用“mvn package-P custom”构建项目,那么Maven将把${server.url}属性引用替换为其在custom profile()中的值。感谢@Nico编辑该示例以遵循问题中提供的示例。