Je comprends que vous pouvez définir le chemin d'accès à la bibliothèque Java avec une option (-Djava.library.path=/path/to/libs
) avant d'exécuter le programme, mais y a-t-il un endroit sur le système où Java regarde si vous ne le définissez pas manuellement?
Sa valeur par défaut dépend du système d'exploitation:
PATH
LD_LIBRARY_PATH
DYLD_LIBRARY_PATH
Cependant, Matt Ball n'est pas totalement correct.
Sur ma boîte Linux, mon Java est
/usr/lib64/icedtea6/jre/lib/AMD64/server:/usr/lib64/icedtea6/jre/lib/AMD6ib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib
Alors que mon LD_LIBRARY_PATH
est /usr/local/lib64
.
Pour Java 8, cela diffère en fonction du système d'exploitation. C'est le comportement que j'ai observé:
Java.library.path=%PATH%;.
Java.library.path=$Java_LIBRARY_PATH:~/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/Java:.
. DYLD_LIBRARY_PATH
et LD_LIBRARY_PATH
les variables sont ignorées. De plus, ces deux variables sont supprimées de l'environnement des applications Java.Java.library.path=$LD_LIBRARY_PATH:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib