使用ant任务编辑xml
我试图使用ant任务编辑我的config.xml文件,但我无法做到这一点。有人能告诉我如何使用ant任务自动编辑xml,这样我就不需要为每个新分支手动更改它吗?要检查的第一个选项是ant任务。有关其用法的介绍,请参见。我已经使用groovy来实现这一点。groovy非常类似于Java,因此您可以创建与静态Java方法非常类似的groovy类,并使用使用ant任务编辑xml,ant,Ant,我试图使用ant任务编辑我的config.xml文件,但我无法做到这一点。有人能告诉我如何使用ant任务自动编辑xml,这样我就不需要为每个新分支手动更改它吗?要检查的第一个选项是ant任务。有关其用法的介绍,请参见。我已经使用groovy来实现这一点。groovy非常类似于Java,因此您可以创建与静态Java方法非常类似的groovy类,并使用任务让ant调用groovy脚本(当然需要包含groovy任务定义) 因为groovy可以使用Java语法,所以可以包括org.w3c.com.*库来
任务让ant调用groovy脚本(当然需要包含groovy任务定义)
因为groovy可以使用Java语法,所以可以包括org.w3c.com.*库来访问DOM类
例如,显示向指定的web.xml文件添加资源引用元素的代码片段:-
import org.w3c.dom.*;
String web_xml_filename=args[0];
String res_ref_name=args[1];
Document doc = DomHelper.getDoc(web_xml_filename);
Element rootNode=doc.getDocumentElement();
newNode = doc.createElement("resource-ref");
DomHelper.createElement(doc, newNode, "res-ref-name", res_ref_name);
DomHelper.createElement(doc, newNode, "res-type", "javax.sql.DataSource");
DomHelper.createElement(doc, newNode, "description", description);
DomHelper.createElement(doc, newNode, "res-auth", "Container");
rootNode.insertBefore(newNode, nodes.item(0));
DomHelper.writeDoc(doc, web_xml_filename, false);
要从ant调用,请使用groovy任务:-
<groovy src="${e5ahr-groovy.dir}/addResoureRefToJBossWebXML.groovy" classpath="${groovy.dir}">
<arg value="${jboss-web.xml}"/>
<arg value="jdbc/somesource/>
<arg value="java:jdbc/somesource"/>
</groovy>
你可以用。模式和表达式选项不允许使用少于或多于,但可以用HTML实体替换。例如:
<replaceregexp byline="true">
<!-- In config.xml this looks like <myVariable></myVariable> -->
<regexp pattern="<myVariable>(.*)</myVariable>" />
<substitution expression="<myVariable>${myVariable.value}</myVariable>" />
<fileset dir="${user.dir}">
<include name="config.xml" />
</fileset>
</replaceregexp>
您能为您的问题添加更多细节吗?将有可能给出一个不那么笼统的答案。