portable Anweisung zum Laden der JNI-Bibliothek aus einem anderen Verzeichnis unter Verwendung des relativen Pfadnamens?

Gibt es eine plattformunabhängige Java-Anweisung zum Laden einer nativen Bibliothek aus einem anderen Verzeichnis als dem Java-Quellcode? Ich würde gerne so etwas benutzen:

public class HelloWorld {
    static {
        System.loadLibrary("../some_project/HelloWorld");
    }

    public static native void print();
}

Das Problem ist, dass System.loadLibrary () keine Verzeichnisseparatoren im Argument pathname unterstützt. Außerdem erfordert System.load () leider einen absoluten Pfadnamen, was nicht nur bedeutet, dass ich kein relatives Verzeichnis wie oben angeben kann (was ich gerne tun würde), sondern auch, dass das Argument beispielsweise das vorhergehende enthält Erweiterung "lib" und ".so" für den Namen der JNI-Bibliothek auf einem Linux-System.

Gibt es eine Standardmethode, um damit umzugehen? Wenn möglich, möchte ich vermeiden, eine Reihe von plattformabhängigem Java-Code zu schreiben, nur um den korrekten Namen der JNI-Bibliothek zu konstruieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage