wrapper.java.library.path.<n>

Compatibilité :2.2.9
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Ces propriétés sont utilisées pour spécifier une liste de répertoires dans lesquels rechercher les bibliothèques natives (JNI) utilisées par l'application. Vous devez placer la bibliothèque native du Wrapper (Windows : wrapper.dll, Linux/UNIX : libwrapper.so) dans l'un des répertoires spécifiés.

Composant <n> :

Chaque élément possède un nom de propriété commençant par "wrapper.java.library.path." et le composant "<n>" du nom de propriété est un nombre entier commençant à "1". Par défaut, la numérotation doit être séquentielle, sans interruption. La propriété wrapper.ignore_sequence_gaps peut éventuellement être définie pour autoriser des interruptions dans la séquence.

Exemple :
wrapper.java.library.path.1=../lib

Il est également possible d'obtenir le comportement Java par défaut en demandant que le chemin système soit ajouté à la fin du chemin de bibliothèque Java généré par le Wrapper. Veuillez lire la documentation associée à la propriété wrapper.java.library.path.append_system_path avant de le faire.

NOTE

Entrées du chemin de bibliothèque contenant des espaces :

Le Wrapper gérera correctement les éléments de chemin contenant des espaces. Cela se fait en entourant le chemin de bibliothèque final généré de guillemets. Les valeurs des propriétés des éléments individuels du chemin de bibliothèque ne doivent jamais être définies avec des guillemets, même si elles contiennent des espaces.

NOTE

Certaines bibliothèques natives font référence à d'autres bibliothèques liées dynamiquement. Java localisera la bibliothèque JNI initiale à l'aide du chemin de bibliothèque Java, mais les bibliothèques secondaires sont chargées à l'aide du mécanisme par défaut de la plateforme.

Veuillez utiliser les propriétés wrapper.system.library.path.<n> pour configurer les chemins où se trouvent les bibliothèques secondaires.

Bibliothèques natives spécifiques à la plateforme

Le Wrapper fournit également une fonctionnalité facilitant la création de distributions binaires fonctionnant sur n'importe quelle plateforme, même si l'application utilise des bibliothèques natives.

Dans le cas de la bibliothèque native du Wrapper, le Wrapper est intelligent quant à la façon dont il localise son composant natif. La bibliothèque peut être nommée de manière à contenir le nom de l'OS actuel, le nom de la plateforme et la profondeur de bits. Des exemples sont : wrapper-windows-x86-32.dll et libwrapper-linux-x86-32.so.

La plupart des bibliothèques ne prennent toutefois pas en charge ce type de fonctionnalité et s'attendent à ce que leurs bibliothèques natives portent le même nom pour toutes les plateformes. Cela entraîne généralement la nécessité de publier des distributions spécifiques à chaque plateforme d'une application. En définissant toutefois le chemin de bibliothèque comme suit, le Wrapper référencera dynamiquement le répertoire spécifique à la plateforme correcte à l'exécution, ce qui permet d'inclure toutes les plateformes prises en charge dans une seule distribution du Wrapper.

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

Ce qui se résout comme suit :

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

NOTE

Comme ci-dessus, si les bibliothèques natives doivent charger leurs propres bibliothèques externes, vous devez également configurer les chemins correctement. Si ces fichiers sont installés de manière externe sur le système, alors la méthode ci-dessus fonctionnera. Mais si vous souhaitez les distribuer avec votre application, placez-les alors dans les répertoires spécifiques à la plateforme avec les autres bibliothèques natives. Les propriétés wrapper.system.library.path.<n> peuvent alors être configurées comme suit.

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

Référence : Bibliothèque