/ / Chemin de la bibliothèque Java par défaut? - java, bibliothèque virtuelle

Chemin de la bibliothèque Java par défaut? - java, nativelibrary

Je comprends que vous pouvez définir le chemin de 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 emplacement sur le système où Java recherche si vous ne le définissez pas manuellement?

Réponses:

32 pour la réponse № 1

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

  • Sous Windows, il mappe à PATH
  • Sous Linux, il mappe à LD_LIBRARY_PATH
  • Sur OS X, il mappe à DYLD_LIBRARY_PATH

11 pour la réponse № 2

Cependant, Matt Ball n'est pas totalement correct.

Sur ma machine Linux, mon chemin de bibliothèque 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.


3 pour la réponse № 3

Pour Java 8, cela diffère selon le 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