不想将文件I / O用于webstart。所以我使用builder.parse(xmlurl, base)
并且工作了。但我试图通过将dtd和xml放在jar文件中来减少流量。这也适用于本地测试和静态Web服务器。但是,我想使用动态Web服务器,它使用http://www.myserver.com/?file=start.jar
现在问题是当jar文件运行时,它试图检索jar:http://www.myserver.com/?file=start.jar!/Resource/xxx.xml
并且javaw抱怨!/
不符合规范(抱怨来自documentbuilder)。我觉得它只是混淆了?和&在动态文件访问的URL中。
让documentbuilder检索动态服务jar的内部(在同一个jar中)xml(以及xml中描述的相应dtd)的最佳方法是什么?请注意,如果我对xml使用this.class.getResourceAsStream(),那么我仍然找不到dtd文件。
我有一个临时解决方案,但还有另一个问题。此jar存储在数据存储区中,因此我需要http://www.myserver.com/?file=start.jar才能访问它。一旦我使用http://www.myserver.com/start.jar,它就会起作用。我只需要我的servlet来解析路径,这仍然很容易。
我发布的另一个问题与此问题有关: