web-dev-qa-db-fra.com

Par défaut Java chemin de bibliothèque?

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?

29
2mac

Sa valeur par défaut dépend du système d'exploitation:

  • Sous Windows, il correspond à PATH
  • Sous Linux, il correspond à LD_LIBRARY_PATH
  • Sous OS X, il correspond à DYLD_LIBRARY_PATH
37
Matt Ball

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.

11
Yichao Zhou

Pour Java 8, cela diffère en fonction du système d'exploitation. C'est le comportement que j'ai observé:

  • Windows 10/Oracle JDK 8: Java.library.path=%PATH%;.
  • macOS El Capitan/Oracle JDK 8: 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.
  • Linux CentOS 7/Open JDK 8: Java.library.path=$LD_LIBRARY_PATH:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib
5
DKroot