能够在没有网络访问权限的情况下构建东西有点好。下面是自托管 DTD 和 xmltask 的示例,供后人参考。
构建文件顶部附近的某处(${ext.dir} 是本地文件路径):
<xmlcatalog id="commonDTDs">
<dtd publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" location="${ext.dir}/dtd/web-app_2_3.dtd" />
<dtd publicId="-//tuckey.org//DTD UrlRewrite 3.2//EN" location="${ext.dir}/dtd/urlrewrite3.2.dtd" />
</xmlcatalog>
稍后使用xmlcatalog refId 引用它:
<xmltask source="${war.dir}/WEB-INF/web.xml" dest="${war.dir}/WEB-INF/web.xml">
<xmlcatalog refId="commonDTDs" />
<remove path="web-app/servlet[servlet-class/text()='loader.servlet.FileServlet']" />
<remove path="web-app/servlet-mapping[servlet-name/text()='FileServlet']" />
</xmltask>