Como encontrar o caminho onde o jdk está instalado?

34

Eu instalei o jdk1.7.0.rpmpacote no RHEL6.
Onde encontro o caminho para executar meu primeiro programa java?

Mohammad Faisal
fonte
2
Possível duplicata de 18472
sakisk
2
Olá Mohammad. Não é uma pergunta estúpida, mas que já foi respondida em vários lugares - como esta ou esta pergunta .
rozcietrzewiacz
Apenas um PS: no MacOS, o Java geralmente é instalado em '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', onde o número da versão pode ser diferente.
Daniel Wang

Respostas:

48

Tente um dos dois:

$ qual java

$ whereis java

Para seu primeiro programa java, leia este tutorial:

"Olá Mundo!" para Solaris OS e Linux

Sadique
fonte
Observe que esses comandos fornecem resultados diferentes. Se você estiver interessado no caminho sem link simbólico, use whereis java.
P.Brian.Mackey
Eu realmente não acho que isso responda à pergunta. O javabinário é instalado com o JRE, mas se você estiver desenvolvendo, precisará do JDK, que não está necessariamente instalado which java(que no meu caso é / usr / bin).
Tim S.
12

Você pode listar os arquivos instalados com

rpm -ql packagename

Você verá em algum lugar um bindiretório comjava executable

Mas se o JDK RPM foi instalado corretamente, você já deve encontrar javano seu caminho.

Experimentar

javac MyFirstJavaClass.java

e se tudo compilar

java MyFirstClass

(Se você não alterou nada, o diretório atual .já deve estar no caminho da sua classe)

Matteo
fonte
Esta deve ser a resposta aceita IMO.
Tim S.
8

Como essa pergunta é específica do RPM, rpmé a maneira de começar (conforme respondido por @Matteo ).

sinalizadores de rpm

-q is short for --query
-l is short for --list

Exemplo

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin

Saber isso pode ser desejável para definir a $JAVA_HOMEvariável de um usuário ou aplicativo . Isso é muitas vezes necessário quando um sistema tem várias versões do Java instalado, ou múltiplas distribuições de java instalados, como o OpenJDK e do Oracle / dom .

$JAVA_HOME Exemplo

No ~/.bash_profile, ou arquivo relacionado ( .bashrc, .zshrc, .cshrc, setenv.sh), pode ser utilizado algo semelhante ao abaixo.

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH

Se você deseja ter mais controle sobre onde o Java é instalado, como em /opt, o tarball pode ser usado em vez do arquivo RPM.


Outras perguntas semelhantes estão perguntando sobre como encontrar qualquer arquivo ou binário, no caso geral.

Kevin
fonte
Em geral, eu recomendo o uso do pacote mlocate para encontrar coisas no sistema de arquivos do Linux baseado no Red Hat.
Kevin Kevin
7

No RHEL7, eu usei

locate openjdk

e me levou ao /usr/lib/jvm/diretório que continha os diretórios:

java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre/
jre-1.8.0/
jre-1.8.0-openjdk/
jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre-openjdk/

Cada um destes contém um bin/java

Para encontrar o caminho completo do link simbólico, use:

readlink -f $(which java)

* Crédito: resposta no estouro de pilha

** Nota: estou respondendo aqui, pois foi o primeiro resultado no Google

r17n
fonte
Isso me deu principalmente JDK6, embora java -versiontenha me dado 1,8. Havia um link para a pasta JDK8 perto da parte superior.
Noumenon