我位于公司代理/防火墙后面,偶尔我的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。我不高兴在不在企业网络上构建我的应用程序,但后来我无法访问其他服务。
答案 0 :(得分:1)
在本地服务器上托管有问题的DTD并覆盖您的hosts文件以指向此新服务器。