คำสั่งเพื่อดูเวอร์ชัน java ทั้งหมดที่ติดตั้งบน linux คืออะไร


36

ฉันรู้เกี่ยวกับ java -version ฉันไม่สนใจสิ่งที่รุ่นผมในขณะทำงาน ฉันสนใจรุ่นอื่น ๆ ที่ติดตั้งบนกล่อง linux ของฉัน หากเป็นอีกคำสั่ง java - * ฉันไม่เห็นใน java -help

ฉันได้ลองใช้ googling แล้ว แต่คำตอบนั้นสำหรับ Windows หรือพวกเขาบอกว่า "use java -version" ฉันรู้ว่าฉันเคยทำมาก่อน

คำตอบ:


50

ในลีนุกซ์ส่วนใหญ่คุณสามารถใช้update-alternativesสิ่งนี้:

sudo update-alternatives --config java

มันจะแสดงรายการแพคเกจทั้งหมดที่ให้คำสั่ง java และจะช่วยให้คุณเปลี่ยนมัน หากคุณไม่ต้องการที่จะเปลี่ยนเพียงแค่Ctrl-Cจากมัน

มีหนึ่ง catch เท่านั้น - หากคุณติดตั้งบางอันที่javaไม่ได้ใช้ตัวจัดการแพคเกจอย่างเป็นทางการ ( dpkg/ apt-get, rpm/ yum) แต่แยกออกมาทางเลือกอัพเดทจะไม่แสดงขึ้นมา


2
เหตุผลใดที่จะไม่ใช้update-alternatives --list javaเพียงเพื่อแสดงรายการพวกเขา?
เซี่ยว

4
@Xiao: น่าเสียดายไม่ใช่ว่าทุกเวอร์ชั่นจะมี--listตัวเลือก เช่น Centos 6.7 ไม่
mvp

1
ใน RHEL 7 มีรายการอยู่ แต่ไม่ได้ใช้พารามิเตอร์อื่นดังนั้นคุณต้อง| grep java
Dmitri

4

คุณสามารถทำได้:

find / -name java 

เพื่อค้นหาไฟล์ทั้งหมด ผู้จัดการแพ็กเกจที่ใช้ Linux เวอร์ชันของคุณควรสามารถแสดงรายการได้


3
"ตัวจัดการแพ็คเกจ" ... ถ้าไม่มีใครติดตั้งรุ่น java ด้วยตนเอง Find เป็นวิธีที่ถูกต้อง แต่ :) find / -type f -name java -print 2> / dev / null | xargs -i echo {} -version | bash
tink

@tink จะใช้ find ด้วย xargs อย่างไร แต่เพิ่มบรรทัดว่างระหว่างผลลัพธ์แต่ละเวอร์ชันเมื่อมี executables 'java' หลายตัว?
Lee Meador

@LeeMeadorfind /usr -type f -name java -print 2>/dev/null | xargs -i echo {} -version | bash 2>&1 | sed ':a;N;$!ba;s/\n/\n\n/g'
tink

1

คุณปล่อยให้เป็นที่ต้องการเท่าที่มีรายละเอียดเกี่ยวกับการตั้งค่าของคุณ Java สามารถติดตั้งได้หลายวิธีใน linux คุณสามารถติดตั้งผ่านแพคเกจจำหน่ายของคุณเช่น apt, yum, yast หรือคุณสามารถติดตั้งด้วยตนเอง

ไม่ว่าคุณจะติดตั้งมันหรือไม่การติดตั้ง Java จำเป็นต้องใช้โปรแกรมจาวาเพื่อทำสิ่งที่ดีในกรณีส่วนใหญ่ดังนั้นคุณสามารถใช้คำสั่งค้นหาหรือค้นหาคำสั่งเพื่อค้นหาสิ่งที่แตกต่างกัน

ตัวอย่างที่มักจะพบลิงค์และรายการที่ซ้ำกัน แต่ชื่อไดเรกทอรีควรช่วยคุณระบุ:

for f in $(locate -ber '^java$'); do test -x && echo "$f"; done


1

ก่อนหน้านี้ฉันใช้สิ่งต่อไปนี้เพื่อพิจารณาการติดตั้ง java 8 สำหรับแอปพลิเคชันที่ต้องการชุดตัวแปรสภาพแวดล้อมดังนั้นจึงสามารถใช้เวอร์ชัน Java ที่ไม่ได้ตั้งค่าเป็นค่าเริ่มต้น:

update-java-alternatives -l java-8-oracle

อย่างไรก็ตามนั่นหยุดทำงานในวันนี้ update-java-alternativesสคริปต์ / โปรแกรมไม่ได้ติดตั้งบนระบบ Ubuntu 14.04 ของฉัน alternativesสิ่งที่ติดตั้งในขณะนี้คือ

สิ่งที่ฉันใช้ตอนนี้เพื่อรับเส้นทาง Java ทางเลือกเฉพาะคือ:

alternatives --display java | grep priority | grep jdk-1.8

จากนั้นฉันสามารถนวดผลลัพธ์เพื่อให้ได้สิ่งที่ฉันต้องการสำหรับตัวแปรสภาพแวดล้อมของแอป

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