有谁知道将适当的JAR文件(例如Apache XALAN)添加到JRE的背书目录并将其添加到应用程序的类路径之间有什么区别?
是否可以获取可以添加到已签名的lib的jar文件,而是将其添加到类路径中?
答案 0 :(得分:25)
技术上你可以这样做,但区别在于endorsed目录中的jar文件是由bootstrap类加载器加载的,它可能与从类路径加载jar文件的类加载器不同。
Xerces和Xalan XML实现存在一个经典的XML问题,它存在于背书目录中。由于较新的应用程序有时需要两个库的较新版本,并且类具有相同的名称,因此存在类路径问题。
您可以替换背书目录中的Xerces和Xalan库(备份您的旧版本!),但这可能会搞砸使用相同JRE安装的其他应用程序。
我甚至在一个应用程序中看到了这个问题,其中一个库依赖于一个版本,而另一个库依赖于另一个版本的xerces。非常麻烦,并没有“一般方法”,或者至少没有我找到的。
谷歌很容易找到一些有趣的文章,试着找到一个最适合你的情况或问题的文章。