classpath和endorsed目录之间的区别

有谁知道将适当的JAR文件(例如Apache XALAN)添加到JRE的背书目录并将其添加到应用程序的类路径之间有什么区别?

是否可以获取可以添加到已认可的lib的jar文件,而是将其添加到类路径中?

技术上你可以这样做,但不同的是,endorsed目录中的jar文件是由引导类加载器加载的,它可能与从类路径加载jar的类加载器不同。

Xerces和Xalan XML实现存在一个典型的XML问题,这些问题出现在背书目录中。 由于较新的应用程序有时需要两个库的较新版本,并且类具有相同的名称,因此存在类路径问题。

您可以替换背书目录中的Xerces和Xalan库(备份您的旧版本!),但这可能会搞砸使用相同JRE安装的其他应用程序。

我甚至在1个应用程序中看到了这个问题,其中一个库依赖于一个版本,而另一个库依赖于另一个版本的xerces。 非常麻烦,并没有“一般方法”,或至少没有我发现。

谷歌在这方面很容易找到一些有趣的文章,试着找到一个最适合你的情况或问题的文章。