Caminho padrão da biblioteca Java?
-
21-12-2019 - |
Pergunta
Entendo que você pode definir o caminho da biblioteca Java com uma opção (-Djava.library.path=/path/to/libs
) antes de executar o programa, mas existe um local no sistema onde o Java procura se você não o configurar manualmente?
Solução
Seu valor padrão depende do sistema operacional:
- No Windows, ele mapeia para
PATH
- No Linux, ele mapeia para
LD_LIBRARY_PATH
- No OS X, ele mapeia para
DYLD_LIBRARY_PATH
Outras dicas
No entanto, Matt Ball não está totalmente correto.
Na minha caixa Linux, o caminho da minha biblioteca Java é
/usr/lib64/icedtea6/jre/lib/amd64/server:/usr/lib64/icedtea6/jre/lib/amd6ib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Enquanto meu LD_LIBRARY_PATH
é /usr/local/lib64
.
Para Java 8, isso difere com base no sistema operacional.Este é o comportamento que observei:
- 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
eLD_LIBRARY_PATH
variáveis são ignoradas.Além disso, ambas as variáveis são removidas do ambiente dos aplicativos Java. - Linux CentOS 7/Open JDK 8:
java.library.path=$LD_LIBRARY_PATH:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow