¿Una declaración portátil para cargar la biblioteca JNI desde un directorio diferente usando el nombre de ruta relativo?

¿Hay una declaración Java independiente de la plataforma para cargar una biblioteca nativa desde un directorio diferente al que está el código fuente de Java? Me gustaría usar algo como esto:

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

    public static native void print();
}

El problema es que System.loadLibrary () no admite separadores de directorios en el argumento de la ruta de acceso. Además, System.load () desafortunadamente requiere una ruta absoluta, lo que no solo significa que no puedo especificar un directorio relativo como el anterior (lo que me gustaría hacer), sino que también requiere que el argumento incluya, por ejemplo, el anterior Extensión "lib" y ".so" en el nombre de la biblioteca JNI en un sistema Linux.

¿Hay una manera estándar de lidiar con esto? Si es posible, me gustaría evitar escribir un montón de código Java dependiente de la plataforma solo para construir el nombre correcto de la biblioteca JNI.

Respuestas a la pregunta(2)

Su respuesta a la pregunta