Maven用整个文件的内容替换令牌

时间:2015-06-01 14:59:04

标签: java xml maven

我想将文件的内容插入到xml文件中(使用XPath或者替换器令牌)。这应该在使用maven的构建过程中发生。

我的第一次尝试是使用maven ant任务插件和ant的xmltask任务。

<xmltask source="sourceFile.xml" dest="destinationFile.xml">
  <replace path="//L7p:MapValue[2]/L7p:Mappings" withfile="xmlFileToInsert.xml" />
</xmltask>

一段时间以来工作正常,但现在我想插入无效的xml。这个xml将在以后的步骤中生效 - 但它确实需要在这里插入无效的xml。 AFAIK,这不适用于ant的xmltask。如果你知道一种禁用验证的方法,那也会有所帮助。

现在,我正在搜索几乎相同的xmltask可以与maven和ant结合使用,但没有xml的验证。

你们认为用maven做这个的最好方法是什么?

  • 列表项
  • 包含shell脚本?
  • 写一个maven插件?
  • ???

感谢您的意见和帮助。

1 个答案:

答案 0 :(得分:1)

如果您已经在使用Ant,只需使用Ant替换任务(https://ant.apache.org/manual/Tasks/replace.html)。它在任何文件中替换另一个文本,因此它不关心它是否是有效的XML。读取要用作文件替换值的值,并在原始文件中包含标记令牌。您仍然可以首先使用xmltask通过XPath插入标记令牌以提供有效的XML,然后通过替换进行文本替换。