Come trovare il percorso in cui è installato jdk?


34

Ho installato il jdk1.7.0.rpmpacchetto in RHEL6.
Dove trovo il percorso per eseguire il mio primo programma Java?


2
Possibile duplicato di 18472
sakisk,

2
Ciao Mohammad. Non è una domanda stupida, ma a cui è già stata data risposta in diversi punti - come questa o questa domanda .
rozcietrzewiacz,

Solo un PS: su MacOS, Java è solitamente installato su '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', dove il numero di versione potrebbe essere diverso.
Daniel Wang,

Risposte:


48

Prova uno dei due:

$ che java

$ whereis java

Per il tuo primo programma Java leggi questo tutorial:

"Ciao mondo!" per sistema operativo Solaris e Linux


Nota questi comandi danno risultati diversi. Se sei interessato al percorso non-symlink, usa whereis java.
P.Brian.Mackey,

Non credo proprio che questo risponda alla domanda. Il javabinario viene installato con JRE, ma se stai sviluppando hai bisogno di JDK, che non è necessariamente installato in which java(che nel mio caso è / usr / bin).
Tim S.

12

È possibile elencare i file installati con

rpm -ql packagename

Vedrai da qualche parte una bindirectory conjava executable

Ma se JDK RPM è stato installato correttamente, dovresti già trovarlo javanel tuo percorso.

Provare

javac MyFirstJavaClass.java

e se tutto si compila

java MyFirstClass

(Se non hai cambiato nulla, la directory corrente .dovrebbe essere già nel tuo percorso di classe)


Questa dovrebbe essere la risposta accettata IMO.
Tim S.

8

Dal momento che questa domanda è RPM specifica, rpmè il modo per iniziare (come risposta dal @Matteo ).

bandiere rpm

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

Esempio

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

Sapere questo può essere desiderabile per impostare una $JAVA_HOMEvariabile utente o applicazione . Questo è spesso necessario quando un sistema ha più versioni di Java installate, o più distribuzioni di Java installata, come OpenJDK e Oracle / Sole .

$JAVA_HOME Esempio

Nella ~/.bash_profileo file correlato ( .bashrc, .zshrc, .cshrc, setenv.sh), può essere usato qualcosa di simile al di sotto.

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

Se desideri un maggiore controllo su dove viene installato Java, come in /opt, allora il tarball può essere usato al posto del file RPM.


Altre domande simili, stanno chiedendo come trovare qualsiasi file binario o file, nel caso generale.


In generale, consiglio vivamente di usare il pacchetto mlocate per trovare cose sul file system di Linux basato su Red Hat.
Kevin,

7

Su RHEL7, ho usato

locate openjdk

e mi ha portato alla /usr/lib/jvm/directory che conteneva le directory:

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/

Ognuno di questi contiene un bin/java

Per trovare il percorso completo del collegamento simbolico utilizzare:

readlink -f $(which java)

* Credito: risposta su Stack Overflow

** Nota: sto rispondendo qui perché è stato il primo risultato in Google


Questo mi ha dato principalmente JDK6 anche se java -versionmi ha dato 1.8. C'era un collegamento alla cartella JDK8 nella parte superiore.
Noumenon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.