使用Ant xmltask将数据源添加到wildfly 8的standalone.xml

时间:2016-06-20 06:37:03

标签: ant wildfly-8 xmltask

我正在探索自动化软件安装过程的方法 使用Ant工具。

除了一个之外,其中大部分我都能完成 编辑wildfly standalone.xml文件以向其添加数据源。

我觉得这里的问题是ant xmltask无法解决 多个名称空间。

我已将复制路径指定为<insert path="/:server/:profile/:subsystem[3]/:datasources" unless="modelexists">, &#39;:&#39;指定存在命名空间。

虽然命名空间位于独立服务器元素上但由于我正在尝试编辑<profile><subsystem>,但它工作正常 并且因为子系统再次具有另一个命名空间,所以无法将数据源插入其中。

我希望有人可以帮助我。

感谢。

1 个答案:

答案 0 :(得分:0)

正如其他答案(例如How to replace value of an XML field using Ant?)所述,您的问题是Ant无法正确处理xpath中的命名空间。使用“:”的语法对我来说并不一致。您需要改为使用//*[local-name()='server']语法。

请尝试:

<xmltask source="standalone.xml" dest="standalone.xml" report="true">
   <insert path="*[local-name()='server']/*[local-name()='profile']/*[local-name()='subsystem'][3]/*[local-name()='datasources'] unless="modelexists">       
</xmltask>