Java SDK'yı yükledikten sonra Linux'ta nerede bulabilirim?


185

JDK'yı apt-get install kullanarak yükledim ancak jdk klasörümün nerede olduğunu bilmiyorum. Bunun için yolu ayarlamam gerekiyor. Konumda herhangi bir ipucu var mı?


1
Linux Dağıtımı: Debian 2.6.26
dinesh707

İndirilmiş /usr/local/java/orijinal Oracle dağıtımlarını deneyin .
Zon

Yanıtlar:


385

Bu, paket sisteminizden biraz bağlıdır ... javakomut çalışırsa, readlink -f $(which java)java komutunun konumunu bulmak için yazabilirsiniz . Ben şimdi OpenSUSE sisteminde geri döner /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java(ama bu kullanan bir sistem değildir apt-get).


Ubuntu'da, OpenJDK için ve Suns JDK için başka bir alt dizinde olduğu gibi görünüyor (ve diğer uygulamalar da sanırım)./usr/lib/jvm/java-6-openjdk//usr/lib/jvm/

Debian aynı.


Herhangi bir paket için dpkg dosyasını sorgulayarak hangi dosyaları yüklediğini ve nereye yükleyeceğini belirleyebilirsiniz. Örneğin 'openjdk-6-jdk' paketi için:dpkg -L openjdk-6-jdk


1
orth / usr /
java'da da

JDK yolunu android stüdyosuna ekleyecekseniz, bu / usr / lib / jvm / java-8-oracle /
Rohit Rokde

3
Görünüşe göre benim yolum /usr/lib/jvm/java-7-openjdk-amd64.
einverne

2
Ben verilen readlink en zarif (ve verimli) olduğunu düşünüyorum, ama readlink -f $(which javac) aynı makinede garip bir JDK ve JRE karışımı olması durumunda 'c' dikkat edin. JDK bir derleyici (javac) içerir ve JRE içermez. Ancak yol doğru değilse, başarısız olur ve bunu deneyebilirsiniz: find /usr/java -wholename '*ava/jdk*' -pruneaşağıdaki yorumda not ettiğim gibi.
Steven the kolayca eğlendirdi

@Winnemucca Benim için çalışıyor, java'nın nerede olduğunu ve sonra jdk yolunun nerede olduğunu bulabilirsiniz.
einverne

45
update-java-alternatives -l

hangi java uygulamasının sisteminiz için varsayılan olduğunu ve dosya sisteminde nereye kurulduğunu söyleyecektir. Daha fazla seçenek için kılavuza bakın.


7
Bu debian'a özgüdür (en azından). Diğer dağıtımlarda bu olmayabilir
dequis

2
@dequis, bahsedilen soru apt-getve olması gereken dağıtımdan beri debian'a özgü bir cevap Debian 2.6.26. AFAIK, tüm debian türevleri için aynı olmalıdır.
forcefsck

2
Sadece diğer insanlar için işaret ediyorum. Bu özel soru için geçerli olduğunu biliyorum.
dequis

1
güncelleme alternatifleri - liste | grep java benim için
RHEL'de

30
$ which java 

sana böyle bir şey vermeli

/usr/bin/java

2
doğru. Bahse girerim apt-get kurulumundan sonra
The Surrican

6
Bu aslında tam bir JDK'ya işaret etmez. 1. Bu bir symlink'tir ve symlink'i oklasanız bile ikili dosya da JDK içinde değildir. Örneğin, komutu çalıştırırsam readlink -f $(which javac)yazdırır /usr/lib/jvm/java-8-oracle/bin/javac. Bu bin klasörü bir JDK DEĞİLDİR. Genel asit-baz testi onun bir JDK akımın $JAVA_HOMEbir yol içerip içermediğini görmek için lib/tools.jar. Bunun kadrosunda /usr/lib/jvm/java-8-oracle/bindoğru değil, bu yüzden bir JDK değil.
Zombies

Centos / RHL'de JDK'yı bulmayı tercih ederim (yüklü ise) find /usr/java -wholename '*ava/jdk*' -prune Ancak davranış, OpenJDK veya Oracle Java hakkında konuşup konuşmamanıza ve ilk etapta nasıl kurulduğuna bağlıdır.
Steven the kolayca eğlendirdi

12

Bu soru taşınacak, ancak aşağıdakileri yapabilirsiniz

which javac

veya

cd /
find . -name 'javac'

İkinci seçeneği beğendim - birden fazla JRE / JDK'nız varsa ve hepsini bulmak istiyorsanız basit ve kullanışlı.
Amos M. Carpenter

"find / -name 'javac'" daha az yazılır, ancak yönetici (kök) ayrıcalığı gerektirir veya çok sayıda izin reddedildi iletisi alırsınız.
Steven the kolayca eğlendirdi

9

Bulmak için find tuşunu kullanın. Bir /usryerde olmalı :

find /usr -name java

Komutu çalıştırırken, bulunan gerçek sonuçları gizleyen çok fazla "İzin reddedildi" mesajı varsa, stderr'ı / dev / null'a yönlendirmeniz yeterlidir.

find /usr -name java 2> /dev/null

1
Kök (admin) değilse, birçok İzin Reddedildi iletisi alırsınız.
Steven the kolayca eğlendirdi

7

Java klasör yolunu bulmanın bir başka en iyi yolu alternatives, Fedora Linux'ta komut kullanmaktır (Ubuntu için olduğunu biliyorum, ancak bu yazıyı google'dan sadece başlığıyla vurarak). Sadece benim gibi insanları fedora lezzeti için cevaplar aramak istiyorum.

Java ile ilgili tüm bilgileri görüntülemek için

alternatives --display java

1
Bu benim için çalıştı, / usr / java / jdk- [version] 'a Fedora'dan döndü
Sina Madani

3

Üç Adım Süreci: Birincisi: Terminali açın-> $ whereis java şu şekilde çıktı verecektir: java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

İkincisi: ls -l /usr/bin/java Bu şekilde çıktı verecektir: lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java

Üçüncü olarak: ls -l /etc/alternatives/java çıktı JDK yoludur: lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java



1

komut: sudo update-alternatives --config javayüklü tüm Java sürümlerinin tam yolunu bulur


1

Bu soru hala alakalı görünüyor ve cevap hareketli bir hedef gibi görünüyor.

Debian sistemimde (buster):

> update-java-alternatives -l
java-1.11.0-openjdk-amd64      1111       /usr/lib/jvm/java-1.11.0-openjdk-amd64

Ancak, oraya gerçekten bakarsanız, gelecekteki bakımı basitleştirmek için paket sistemi tarafından yerleştirilmiş birden çok dizin ve sembolik bağlantı olduğunu göreceksiniz.

Gerçek dizin, java-11-openjdk-amd64başka bir sembolik işaretiyle default-java. Bir openjdk-11dizin de var, ancak yalnızca bir source.zip dosyası içeriyor gibi görünüyor.

Bu göz önüne alındığında, SADECE Debian için, java'nın /usr/lib/jvm/default-javatamamen farklı bir sürümünü kurmaya veya hatta satıcıları değiştirmeye karar verseniz bile, her zaman geçerli olması gerektiğinden, kullanılacak en iyi değerin olduğunu tahmin ediyorum .

Yolu bilmek istemenin normal nedeni, bazı uygulamaların istediği ve muhtemelen sürüm numaralarını değiştiren bir yükseltme yaptığınız için uygulamanın bozulmasını istememenizdir.


0

OpenSUSE 13.1 / /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
13.2'de : sürüm numarası 1.7.x 1.8.x vb. olabilir. Yüklediğiniz yazılım yöneticisi cadı sürümünü kontrol edin ...

André


0

Linux Fedora30'da, tam olarak java JDK'nın çeşitli sürümleri mevcuttur, özellikle paket adları:

java-1.8.0-openjdk-devel.x86_64 
java-11-openjdk-devel.x86_64

Kurulduktan sonra, bunlar bulunur: /usr/lib/jvm

Tam bir geliştirme JDK'sının konumunu / dizinini (yalnızca daha basit çalışma zamanı JRE'den farklı) seçmek için girişleri arayın:

ls -ld java*openjdk*

Sürümü seçmeniz gereken belirli sürümlere bağlantılar olan iki iyi seçenek şunlardır:

/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk

0

Benim için çalışan en iyi yol bu komutu yürütün: -

$(dirname $(readlink $(which javac)))/java_home
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.