Существует ли независимый от платформы оператор Java для загрузки собственной библиотеки из каталога, отличного от исходного кода Java? Я хотел бы использовать что-то вроде этого:
public class HelloWorld {
static {
System.loadLibrary("../some_project/HelloWorld");
}
public static native void print();
}
Проблема в том, что System.loadLibrary() не поддерживает разделители каталогов в аргументе имени пути. Кроме того, System.load(), к сожалению, требует абсолютного имени пути, что не только означает, что я не могу указать относительный каталог, как указано выше (что я хотел бы сделать), но также требует, чтобы аргумент включал, например, предыдущий Расширение «lib» и «.so» имени библиотеки JNI в системе Linux.
Есть ли стандартный способ справиться с этим? Если возможно, я хотел бы избежать написания кода Java, зависящего от платформы, только для создания правильного имени библиотеки JNI.