Domanda

Capisco che è possibile impostare il percorso della libreria Java con un'opzione (-Djava.library.path=/path/to/libs) prima di eseguire il programma, ma c'è un posto sul sistema in cui Java guarda se non lo si imposta manualmente?

È stato utile?

Soluzione

Il suo valore predefinito dipende dal sistema operativo:

    .
  • su Windows, mappa a PATH
  • su Linux, mappa a LD_LIBRARY_PATH
  • su OS X, mappa su DYLD_LIBRARY_PATH

Altri suggerimenti

Tuttavia, Matt Ball non è totalmente corretta.

Nella mia scatola Linux, il mio percorso della biblioteca Java è

/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
.

Mentre il mio LD_LIBRARY_PATH è /usr/local/lib64.

Per Java 8, questo differisce basato sul sistema operativo.Questo è il comportamento che ho osservato:

    .
  • 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 e variabili generacoli variabili vengono ignorate.Inoltre, entrambe queste variabili vengono rimosse dall'ambiente delle applicazioni Java.
  • Linux Centos 7 / Open JDK 8: LD_LIBRARY_PATH
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top