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