wrapper.system.library.path.<n>

Compatibilidad :3.6.0
Ediciones :Edición ProfesionaEdición EstándarEdición de la Comunidad
Plataformas :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

Algunas bibliotecas nativas hacen referencia a otras bibliotecas de enlace dinámico. Java localizará la biblioteca JNI inicial utilizando la ruta de bibliotecas de Java, pero las bibliotecas secundarias se cargan utilizando el mecanismo predeterminado del sistema operativo.

Estas propiedades se utilizan para especificar una lista de directorios en los que buscar cualquier biblioteca secundaria que se cargue mediante el mecanismo predeterminado del sistema operativo. Las rutas configuradas se aplicarán a cualquier subproceso del Wrapper.

Componente <n>:

Cada elemento tiene un nombre de propiedad que comienza con "wrapper.system.library.path.", y el componente "<n>" del nombre de la propiedad es un número entero contando a partir de "1". Por defecto, la numeración debe ser secuencial, sin intervalos. La propiedad wrapper.ignore_sequence_gaps se puede configurar opcionalmente para permitir intervalos en la secuencia.

Ejemplo:
wrapper.system.library.path.1=../lib

NOTA

Las propiedades wrapper.system.library.path.<n> se introducieron en la versión 3.6.0 del Wrapper. Las versiones anteriores del Wrapper permitían configurar la ruta de las bibliotecas secundarias mediante la configuración manual de las variables de entorno.

En Windows, el sistema primero buscará al directorio de trabajo actual (la ubicación del archivo wrapper.exe), luego buscará en el directorio System32 de Windows y el directorio de Windows. Finalmente, buscará en todo la ruta del sistema (PATH). Si ambas DLLs se encuentran en el directorio lib de su aplicación, puede ser necesario añadir su ubicación a la ruta del sistema de la siguiente manera. set.PATH es para Windows y set.LD_LIBRARY_PATH La opción Aset.PATH es para Windows y la set.LD_LIBRARY_PATH hace que el archivo de configuración sea multiplataforma, por lo que también funciona en sistemas UNIX. macOS también utiliza la variable set.DYLD_LIBRARY_PATH.

set.PATH=..%WRAPPER_FILE_SEPARATOR%lib%WRAPPER_PATH_SEPARATOR%%PATH%
set.LD_LIBRARY_PATH=..%WRAPPER_FILE_SEPARATOR%lib%WRAPPER_PATH_SEPARATOR%%LD_LIBRARY_PATH%
set.DYLD_LIBRARY_PATH=..%WRAPPER_FILE_SEPARATOR%lib%WRAPPER_PATH_SEPARATOR%%DYLD_LIBRARY_PATH%

Tenga en cuenta que colocar la biblioteca secundaria en PATH en lugar de en el directorio de trabajo actual conlleva el riesgo de que se encuentre primero una versión antigua de la biblioteca en el directorio System32 de Windows si esta fue instalada por otra aplicación. Esto se debe al orden en que el sistema busca el archivo.

Este problema se ha observado al trabajar con las bibliotecas JCO de SAP si también hay otras aplicaciones de SAP instaladas en el sistema.

Bibliotecas nativas específicas de la plataforma

La mayoría de las bibliotecas esperan que sus bibliotecas nativas tengan el mismo nombre en todas las plataformas. Esto suele dar como resultado la necesidad de lanzar distribuciones de una aplicación específicas para cada plataforma. Sin embargo, al definir la ruta de la biblioteca de la siguiente manera, el Wrapper hará referencia dinámicamente al directorio específico de la plataforma correcta en tiempo de ejecución, lo que permite incluir todas las plataformas compatibles en una única distribución del Wrapper.

Ejemplo:
wrapper.system.library.path.1=../lib
wrapper.system.library.path.2=../lib/native/%WRAPPER_OS%-%WRAPPER_ARCH%-%WRAPPER_BITS%

Lo cual se resuelve en lo siguiente:

Windows:
wrapper.system.library.path.1=../lib
wrapper.system.library.path.2=../lib/native/windows-x86-32
Linux:
wrapper.system.library.path.1=../lib
wrapper.system.library.path.2=../lib/native/linux-x86-32
Solaris:
wrapper.system.library.path.1=../lib
wrapper.system.library.path.2=../lib/native/solaris-sparc-32

Referencia: Librería