วิธีการค้นหาเส้นทางที่ติดตั้ง jdk?


33

ฉันติดตั้งjdk1.7.0.rpmแพ็คเกจใน RHEL6 แล้ว
ฉันจะหาพา ธ เพื่อใช้งานโปรแกรมจาวาครั้งแรกได้ที่ไหน


2
สำเนาที่เป็นไปได้ของ18472
sakisk

2
สวัสดีโมฮัมหมัด มันไม่ใช่คำถามที่โง่ แต่เป็นคำถามที่ตอบไปแล้วในหลายที่แล้ว - เช่นนี้หรือคำถามนี้
rozcietrzewiacz

เพียงแค่เป็น PS: บน MacOS โดยปกติแล้ว Java จะถูกติดตั้งที่ '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home' ซึ่งหมายเลขเวอร์ชันอาจแตกต่างกัน
แดเนียลวัง

คำตอบ:


46

ลองทั้งสองอย่าง:

$ ที่จาวา

$ whereis java

สำหรับโปรแกรม Java แรกของคุณอ่านบทช่วยสอนนี้:

"สวัสดีชาวโลก!" สำหรับ Solaris OS และ Linux


หมายเหตุคำสั่งเหล่านี้ให้ผลลัพธ์ที่แตกต่าง หากคุณสนใจพา ธ ที่ไม่ใช่ symlink ให้ใช้ whereis java
P.Brian.Mackey

ฉันไม่คิดว่านี่จะตอบคำถามได้ javaไบนารีได้รับการติดตั้งกับ JRE แต่ถ้าคุณทำคุณจะต้องพัฒนา JDK ซึ่งไม่ได้ติดตั้งจำเป็นต้องอยู่ในwhich java(ซึ่งในกรณีของฉันคือ / usr / bin)
Tim S.

12

คุณสามารถแสดงรายการไฟล์ที่ติดตั้งด้วย

rpm -ql packagename

คุณจะเห็นbinไดเรกทอรีด้วยjava executable

แต่ถ้า JDK RPM ได้รับการติดตั้งอย่างถูกต้องคุณควรหาjavaเส้นทางแล้ว

ลอง

javac MyFirstJavaClass.java

และถ้าทุกอย่างรวบรวม

java MyFirstClass

(ถ้าคุณไม่ได้เปลี่ยนแปลงอะไรไดเรกทอรีปัจจุบัน.ควรอยู่ในเส้นทางคลาสของคุณแล้ว)


นี่ควรเป็นคำตอบที่ IMO ยอมรับ
Tim S.

8

เนื่องจากคำถามนี้เฉพาะ RPM rpmเป็นวิธีเริ่มต้น ( ตอบโดย@Matteo )

ธงรอบต่อนาที

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

ตัวอย่าง

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

การรู้สิ่งนี้อาจเป็นที่ต้องการสำหรับการตั้งค่า$JAVA_HOMEตัวแปรผู้ใช้หรือแอปพลิเคชัน นี้มักจะเป็นสิ่งจำเป็นเมื่อระบบมีหลายรุ่นของ Java ที่ติดตั้งหรือหลายกระจายของ Java ที่ติดตั้งเช่นOpenJDKและออราเคิล / อาทิตย์

$JAVA_HOME ตัวอย่าง

ใน~/.bash_profileหรือแฟ้มที่เกี่ยวข้องกัน ( .bashrc, .zshrc, .cshrc, setenv.sh), สิ่งที่คล้ายกับด้านล่างอาจมีการใช้

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

หากคุณต้องการควบคุมการติดตั้ง Java เช่นในเพิ่มเติม/optสามารถใช้ tarball แทนไฟล์ RPM


คำถามที่คล้ายกันอื่น ๆ จะถามเกี่ยวกับวิธีการหาไบนารีหรือไฟล์ใด ๆ ในกรณีทั่วไป


โดยทั่วไปฉันขอแนะนำให้ใช้แพ็คเกจmlocateเพื่อค้นหาสิ่งต่าง ๆ บนระบบไฟล์ของ Linux ที่ใช้ Red Hat
Kevin

6

ใน RHEL7 ฉันใช้

locate openjdk

และมันพาฉันไปยัง/usr/lib/jvm/ไดเรกทอรีที่มีไดเรกทอรี:

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/

แต่ละเหล่านี้มี bin/java

หากต้องการค้นหาเส้นทางแบบเต็มของลิงก์สัญลักษณ์ให้ใช้:

readlink -f $(which java)

* เครดิต: คำตอบในสแต็คล้น

** หมายเหตุ: ฉันกำลังตอบอยู่ที่นี่เนื่องจากเป็นผลลัพธ์แรกใน Google


สิ่งนี้ทำให้ฉันส่วนใหญ่ JDK6 แม้ว่าjava -versionให้ฉัน 1.8 มีลิงก์เดียวไปยังโฟลเดอร์ JDK8 ใกล้กับด้านบน
Noumenon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.