Ho installato JDK usando apt-get install ma non so dove sia la mia cartella jdk. Devo impostare il percorso per quello. Qualcuno ha un indizio sulla posizione?
/usr/local/java/
per le distribuzioni Oracle scaricate originali.
Ho installato JDK usando apt-get install ma non so dove sia la mia cartella jdk. Devo impostare il percorso per quello. Qualcuno ha un indizio sulla posizione?
/usr/local/java/
per le distribuzioni Oracle scaricate originali.
Risposte:
Questo dipende un po 'dal tuo sistema di pacchetti ... se il java
comando funziona, puoi digitare readlink -f $(which java)
per trovare la posizione del comando java. Sul sistema OpenSUSE sono acceso ora ritorna /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java
(ma questo non è un sistema che utilizza apt-get
).
Su Ubuntu, sembra che sia in /usr/lib/jvm/java-6-openjdk/
OpenJDK e in qualche altra sottodirectory di /usr/lib/jvm/
Suns JDK (e anche altre implementazioni, penso).
Per ogni dato pacchetto è possibile determinare quali file installa e dove li installa interrogando dpkg. Ad esempio per il pacchetto "openjdk-6-jdk":dpkg -L openjdk-6-jdk
/usr/lib/jvm/java-7-openjdk-amd64
.
readlink -f $(which javac)
- nota la 'c' nel caso in cui ci sia uno strano mix di JDK e JRE sulla stessa macchina. JDK include un compilatore (javac) e un JRE no. Tuttavia, se il percorso non è corretto, ciò fallirà e puoi provare questo: find /usr/java -wholename '*ava/jdk*' -prune
come noto in un commento qui sotto.
update-java-alternatives -l
ti dirà quale implementazione Java è predefinita per il tuo sistema e dove nel file system è installata. Controlla il manuale per ulteriori opzioni.
apt-get
e la distro saranno Debian 2.6.26
. AFAIK, dovrebbe essere lo stesso per tutti i derivati debian.
$ which java
dovrebbe darti qualcosa di simile
/usr/bin/java
readlink -f $(which javac)
stampa /usr/lib/jvm/java-8-oracle/bin/javac
. Quella cartella bin NON è un JDK. Test generale acido-base per vedere se è un JDK per vedere se la corrente $JAVA_HOME
contiene un percorso di lib/tools.jar
. Nel cast di /usr/lib/jvm/java-8-oracle/bin
questo non è vero, quindi non è un JDK.
find /usr/java -wholename '*ava/jdk*' -prune
Ma il comportamento dipende dal fatto che tu stia parlando di OpenJDK o Oracle Java e come sia stato installato in primo luogo.
Questa domanda verrà spostata ma puoi fare quanto segue
which javac
o
cd /
find . -name 'javac'
Usa trova per trovarlo. Dovrebbe essere sotto /usr
da qualche parte:
find /usr -name java
Quando si esegue il comando, se ci sono troppi messaggi "Autorizzazione negata" che offusca i risultati effettivamente trovati, reindirizzare semplicemente stderr a / dev / null
find /usr -name java 2> /dev/null
Un altro modo migliore per trovare il percorso della cartella Java è usare il alternatives
comando in Fedora Linux (lo so per Ubuntu ma ho colpito questo post da Google solo per il titolo). Voglio solo condividere persone come me in cerca di risposte per il sapore di fedora.
Per visualizzare tutte le informazioni relative a Java
alternatives --display java
Processo in tre passaggi: primo: aprire Terminale-> $ whereis java
darebbe un output come questo:
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
Secondo:
ls -l /usr/bin/java
darebbe un output come questo:
lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java
Terzo: l'
ls -l /etc/alternatives/java
output è il percorso JDK:
lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Semplice, provalo:
È / usr / local / java / jdk [versione]
Questa domanda sembra ancora pertinente e la risposta sembra essere un bersaglio mobile.
Sul mio sistema debian (buster):
> update-java-alternatives -l
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Tuttavia, se effettivamente vai lì, vedrai che ci sono più directory e collegamenti simbolici posizionati lì dal sistema del pacchetto per semplificare la manutenzione futura.
La directory attuale è java-11-openjdk-amd64
, con un altro link simbolico di default-java
. C'è anche una openjdk-11
directory, ma sembra contenere solo un file source.zip.
Detto questo, SOLO per Debian, immagino che il miglior valore da usare sia /usr/lib/jvm/default-java
, poiché questo dovrebbe essere sempre valido, anche se decidi di installare una versione totalmente diversa di java, o addirittura cambiare fornitore.
Il normale motivo per voler conoscere il percorso è perché alcune applicazioni lo desiderano e probabilmente non si desidera che l'app si interrompa perché è stato effettuato un aggiornamento che ha modificato i numeri di versione.
su OpenSUSE 13.1 / 13.2 è: il /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
numero di versione può essere 1.7.x 1.8.x ecc. controllare la versione della strega del software manager installata ...
André
Su Linux Fedora30 sono disponibili diverse versioni dell'intero java JDK, in particolare i nomi dei pacchetti:
java-1.8.0-openjdk-devel.x86_64
java-11-openjdk-devel.x86_64
Una volta installati, si trovano in: /usr/lib/jvm
Per selezionare la posizione / directory di un JDK di sviluppo completo (che è diverso dal JRE di runtime più semplice) cercare le voci:
ls -ld java*openjdk*
Ecco due buone scelte, che sono collegamenti a versioni specifiche, in cui dovrai selezionare la versione:
/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk
Questo è il modo migliore che ha funzionato per me Eseguire questo comando: -
$(dirname $(readlink $(which javac)))/java_home