przenośna instrukcja do ładowania biblioteki JNI z innego katalogu przy użyciu względnej nazwy ścieżki?

Czy istnieje instrukcja Java niezależna od platformy, aby załadować rodzimą bibliotekę z innego katalogu niż kod źródłowy Java? Chciałbym użyć czegoś takiego:

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

    public static native void print();
}

Problem polega na tym, że System.loadLibrary () nie obsługuje separatorów katalogów w argumencie pathname. Ponadto System.load () niestety wymaga bezwzględnej nazwy ścieżki, co oznacza nie tylko, że nie mogę określić katalogu względnego jak wyżej (co chciałbym zrobić), ale wymaga również, aby argument zawierał na przykład poprzedni Rozszerzenie „lib” i „.so” na nazwę biblioteki JNI w systemie Linux.

Czy istnieje standardowy sposób radzenia sobie z tym? Jeśli to możliwe, chciałbym uniknąć pisania kilku zależnych od platformy kodu Java tylko w celu skonstruowania poprawnej nazwy biblioteki JNI.

questionAnswers(2)

yourAnswerToTheQuestion