2009-11-13 56 views
0

在MacOS(至少在雪豹),java命令無條件地添加一個額外的罐子類路徑:如何在MacOS上獲得乾淨的Java VM?

/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/.compatibility/14compatibility.jar 。

該jar文件包含未命名的Apache Xerces + Xalan版本。這可能會導致嘗試顯式使用這些庫的某些其他版本的應用程序的混亂結果,特別是在servlet容器中的webapps中。

我試圖通過使用MacPorts中的OpenJDK來避免這種情況,但MacPorts構建失敗。

是否有人制定了一些其他的食譜,除了明顯的刪除該JAR文件的暴力?這是在一個博客上推薦的,但是我擔心一些Apple組件或其他組件在沒有它的情況下會失敗。

回答

1

重命名14compatibility.jar後我沒有任何問題。也許你可以嘗試這樣做。如果有什麼可怕的事情發生,你可以將它移回原來的位置。

1

我相信這裏最終的王牌是-Xbootclasspath/p:foo.jar。這可以讓你在引導類加載器中添加一個.jar。這應該使它優先於我能想象的任何事物。比如你可以用這種方式替換java.lang.String。

+0

不夠公平,但沒有前置的瓶子。我想擺脫這種東西,而不是用其他版本替換它。 – bmargulies

相關問題