我对传统的Web应用程序的支持是直接使用rt.jar中的**.internal.**apache xerces类.我认为历史是这个代码(在java1.4中)用于显式使用xerces,并且在移动到java5时某些时候使用了xerces jar,并且这些类被引用作为内部等价物的rt.jar .
我试图了解在各种Web容器上运行此项目的影响是什么(例如,Websphere与Tomcat等).
在某些时候(资源允许),需要更改此代码以使用标准的Java API,我想知道这可能有多大问题.
谢谢,罗布
JVM 规范或 Java 语言规范中都没有rt.jar提及,并且所有*.internal.*包都明确标记为不属于 API 的一部分。
因此,可以安全地假设使用其中任何一个都会将您直接绑定到 JVM 供应商和实现版本。不仅不同的供应商可以使用不同的 XML 解析器,而且即使在一个供应商内,当他们更改 XML 解析器、XML 解析器的版本或 XML 解析器随附的包时,您也很容易遇到问题。
所有这些都是完全合法的更改,因为这些包不是 API。
因此,除非您愿意绑定到一小组已知良好的 JVM,否则您绝对应该转而使用标准 API,或者至少使用 Xerces 作为外部依赖项,从而使用普通包org.apache.xerces.*。
| 归档时间: |
|
| 查看次数: |
1285 次 |
| 最近记录: |