classpath和endorsed目录之间的区别

时间:2008-12-19 08:52:40

标签: jar classpath java endorsed

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

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

1 个答案:

答案 0 :(得分:25)

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

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

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

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

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