2010-06-24 56 views
0

我已经在Java中创建了一个以JNLP(Java WebStart)开头的程序。该程序可以连接到服务器上的webdav服务,JNLP从此开始。Java如何防止外部库下载DTD文件

第一个webdav请求导致安全警告,表示某些代码尝试打开与w3.org的连接。我正在使用一个外部webdav客户端库,它创建一个文件内置。图书馆不应该被操纵或替换。

有没有可能阻止从库外部下载DTD?

谢谢。

+0

您可以覆盖实体解析器。请参阅http://stackoverflow.com/questions/155101/make-documentbuilder-parse-ignore-dtd-参考 – 2012-10-18 14:25:11

+0

没有机会更改所需的实例。无法访问加载xml的代码。 – 2012-10-19 11:35:01

回答

0

唯一的解决方案是签署外部jar文件并授予下载dtd文件所需的权限。

0

这取决于图书馆的性质。您可以通过在库中的某处调用来禁用DTD验证,或者手动下载它想要的DTD,并将它放置在您的机器上某处以供查找。

+0

不幸的是现在有可能通过调用禁用dtd验证。 我可以在哪里放置DTD localy,以便SAX XML解析器将使用它们而不是请求远程节点? – 2010-06-25 06:15:01