下面是我正在运行以将驱动程序插入到 Wildfly Standalone.xml 的完整 ant 目标:
<target name="xmlrewrite" >
<!--Driver-->
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<xmltask source="standalone.xml" dest="standalone.xml" report="true">
<copy path="//driver[@module='com.oracle.ojdbc6']/text()" property="modelexists"/>
<insert
path="*[local-name()='server']/*[local-name()='profile']/*[local-name()='subsystem'][3]/*[local-name()='datasources']/*[local-name()='drivers']"
unless="modelexists">
<![CDATA[
<driver name="oracle" module="com.oracle.ojdbc6">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>
]]>
</insert>
</xmltask>
</target>
根据我的理解,只有在standalone.xml 不存在的情况下,才应该在standalone.xml 中创建条目,因为我正在使用unless="modelexists"
.
但显然它正在为 oracle 驱动程序添加一个新条目xmlns=""
,这会生成两个 oracle 条目,这会导致我的构建失败。
如果您需要更多信息,请告诉我。