MATLAB は、ユーザーが変更可能な動的パスを検索する前に静的 Java クラス パスを検索するように構成されています。残念ながら、静的パスにはかなりの数の非常に古い公開ライブラリが含まれているため、新しいバージョンを使用しようとすると、間違った実装をロードしてエラーが発生する可能性があります。
たとえば、静的パスには google-collections.jar の古いコピーが含まれています。これは、長い間 Google の guava ライブラリに取って代わられ、同じクラス名 (com.google.common.base.Objects など) がいくつかあります。その結果、そのようなクラスの 1 つの新しいメソッドを使用する Guava メソッドを呼び出すと、google-collections jar が最初に見つかるため、驚くべき NoSuchMethodErrors が返されます。
R2012b の時点で、MATLAB では、設定フォルダーに javaclasspath.txt ファイルを配置することにより、静的パスに追加する追加の jar を指定できますが、パスの末尾に jar が追加され、ビルドされた jar をオーバーライドすることはできません。 MATLAB に。
それで、これを回避する最善の方法は何ですか?