Bagaimana menemukan jalan tempat jdk diinstal?

34

Saya telah menginstal jdk1.7.0.rpmpaket di RHEL6.
Di mana saya menemukan jalur untuk menjalankan program java pertama saya?

Mohammad Faisal
sumber
2
Kemungkinan rangkap 18472
sakisk
2
Hai, Mohammad. Ini bukan pertanyaan bodoh, tapi satu yang sudah dijawab di beberapa tempat sudah - seperti ini atau pertanyaan ini .
rozcietrzewiacz
Hanya sebuah PS: di MacOS, Java biasanya dipasang di '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', di mana nomor versi bisa berbeda.
Daniel Wang

Jawaban:

48

Coba salah satu dari keduanya:

$ mana java

$ whereis java

Untuk program java pertama Anda, baca tutorial ini:

"Halo Dunia!" untuk Solaris OS dan Linux

Sadique
sumber
Perhatikan perintah ini memberikan hasil yang berbeda. Jika Anda tertarik pada jalur non-symlink gunakan whereis java.
P.Brian.Mackey
Saya tidak berpikir ini menjawab pertanyaan. The javabiner terinstal dengan JRE, tetapi jika Anda melakukan pengembangan yang Anda butuhkan JDK, yang belum tentu dipasang di which java(yang dalam kasus saya adalah / usr / bin).
Tim S.
12

Anda dapat mendaftar file yang diinstal dengan

rpm -ql packagename

Anda akan melihat suatu bindirektorijava executable

Tetapi jika JDK RPM diinstal dengan benar, Anda seharusnya sudah menemukan javadi jalur Anda.

Mencoba

javac MyFirstJavaClass.java

dan jika semuanya dikompilasi

java MyFirstClass

(Jika Anda tidak mengubah apa pun, direktori saat ini .seharusnya sudah ada di jalur kelas Anda)

Matteo
sumber
Ini harus menjadi jawaban yang diterima IMO.
Tim S.
8

Karena pertanyaan ini khusus RPM, rpmadalah cara untuk memulai (seperti dijawab oleh @Matteo ).

bendera rpm

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

Contoh

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

Mengetahui hal ini mungkin diinginkan untuk menyetel $JAVA_HOMEvariabel pengguna atau aplikasi . Hal ini sering diperlukan ketika sistem memiliki beberapa versi java diinstal, atau beberapa distribusi java diinstal, seperti OpenJDK dan Oracle / Sun .

$JAVA_HOME Contoh

Dalam ~/.bash_profile, atau file yang terkait ( .bashrc, .zshrc, .cshrc, setenv.sh), sesuatu yang mirip dengan di bawah ini dapat digunakan.

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

Jika Anda ingin lebih banyak kontrol di mana Java diinstal, seperti di /opt, maka tarball dapat digunakan sebagai ganti file RPM.


Pertanyaan serupa lainnya, menanyakan tentang bagaimana menemukan biner atau file, dalam kasus umum.

Kevin
sumber
Secara umum, saya sangat merekomendasikan menggunakan paket mlocate untuk menemukan hal-hal pada sistem file Linux Red Hat.
Kevin
7

Di RHEL7, saya menggunakan

locate openjdk

dan itu menuntun saya ke /usr/lib/jvm/direktori yang berisi direktori:

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/

Masing-masing berisi a bin/java

Untuk menemukan jalur lengkap tautan simbolik gunakan:

readlink -f $(which java)

* Kredit: Jawaban tentang Stack Overflow

** Catatan: Saya menjawab di sini karena ini adalah hasil pertama di Google

r17n
sumber
Ini memberi saya sebagian besar JDK6 meskipun java -versionmemberi saya 1,8. Ada satu tautan ke folder JDK8 di dekat bagian atas.
Noumenon