2008-12-19 59 views
16

有誰知道添加一個合適的JAR文件(例如Apache XALAN)到JRE的認可目錄並將其添加到應用程序的類路徑之間有何區別?classpath和認可的目錄之間的區別

是否有可能將一個jar文件添加到背書的lib中,並將其添加到classpath中?

回答

25

通常你可以做到這一點,但不同之處在於背書目錄中的jar文件是由bootstrap類加載器加載的,它可能與加載類路徑中的jar類的classloader不同。

Xerces和Xalan XML實現存在經典的XML問題,這些問題出現在背書目錄中。由於較新的應用程序有時需要兩個庫的較新版本,並且類具有相同的名稱,所以存在類路徑問題。

您可以在支持的目錄中替換Xerces和Xalan庫(備份舊目錄!),但這可能會導致使用相同JRE安裝的其他應用程序失效。

我在1個應用程序中看到過這個問題,其中一個庫依賴於一個版本,另一個庫依賴於另一個版本的xerces。非常麻煩,而且沒有「一般方法」,或者至少沒有發現。

Google上有一些有趣的文章很容易找到,請嘗試找到最適合您的情況或問題的文章。