在Ant中禁用web.xml验证

时间:2012-03-28 08:45:38

标签: java ant build ioexception xmlcatalog

我位于公司代理/防火墙后面,偶尔我的ANT版本会因以下异常而失败:

java.io.IOException: Server returned HTTP response code: 502 for URL: http://java.sun.com/dtd/web-app_2_3.dtd

有问题的web.xml是第三方库的一部分,我无法更改它,它必须包含在.ear文件中。

我尝试将有问题的各种dtd​​下载到本地文件夹,将它们添加到XML目录中,摘录如下:

    <xmlcatalog id="dtds">
        <dtd publicid="-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" location="${atg.home}/xsd/web-app_2_4.xsd" />
        <dtd publicid="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" location="${atg.home}/xsd/web-app_2_4.xsd" />
    </xmlcatalog>

问题是:

a)是否可以禁用验证web.xml?它是Application Server的一部分,不会改变。

b)如果我无法禁用它,xmlcatalog是否正确尝试在本地解决它?跟着docs围绕这个,我可能做错了,这意味着它不起作用。

c)有替代方案吗?

任何帮助表示感谢。

PS。我不高兴在不在企业网络上构建我的应用程序,但后来我无法访问其他服务。

1 个答案:

答案 0 :(得分:1)

在本地服务器上托管有问题的DTD并覆盖您的hosts文件以指向此新服务器。