apt-get install openjdk-7-jdk ไม่ได้ติดตั้ง javac ทำไม?


24
The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.6-jdk
 * gcj-4.5-jdk
 * openjdk-7-jdk

จากนั้นฉันก็วิ่งsudo apt-get install openjdk-7-jdkและทำงานทุกอย่าง แต่แล้วก็javacยังไม่มีอยู่และฉันได้รับข้อผิดพลาดเช่นเดียวกับข้างต้น openjdk-6-jdkสิ่งเดียวกันกับ ทำไม?

คำตอบ:


10

ตราบใดที่การติดตั้งเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาดจะมี javac ที่สามารถใช้งานได้บนระบบของคุณ ด้วยเหตุผลบางอย่างก็ไม่ได้รับการเชื่อมโยงอย่างถูกต้องกับ / usr / bin sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javacจะสร้างลิงก์นั้นและควรแก้ไขปัญหาของคุณ


6
จะทำอย่างไรถ้าติดตั้งไม่ถูกต้อง ฉันไม่เห็น javac ในไดเรกทอรีของตัวเอง
Veer Shrivastav

23

วิธี Debian / Ubuntu ที่เหมาะสมเพื่อกำหนดค่าซึ่งjavacชี้ไปโดย/usr/bin/javacคือการใช้update-alternativesคำสั่ง คุณสามารถโต้ตอบได้และเลือกจากรายการตัวเลือกที่มี:

sudo update-alternatives --config javac

หรือคุณสามารถระบุตัวเลือกที่คุณต้องการในบรรทัดคำสั่ง:

sudo update-alternatives --set javac /usr/lib/jvm/java-7-openjdk/bin/javac

เนื่องจากวิธีการจัดเก็บข้อมูลการใช้update-alternativesจึงไม่เท่ากัน (แต่ถือว่าดีกว่า) เพื่อสร้าง/usr/bin/javaลิงก์สัญลักษณ์ที่คุณjavacเลือกเอง ดูman update-alternativesข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

หากupdate-alternativesไม่ได้ผลให้เรียกใช้คำสั่งนี้แล้วลองอีกครั้ง:

sudo ln -s /etc/alternatives/javac /usr/bin/javac

13

นี่คือสิ่งที่ฉันทำ มันได้ผล

ก่อนอื่นฉันติดตั้ง jdk สำหรับ Java 7 เช่นนี้:

sudo apt-get install openjdk-7-jdk

นั่นอาจเพียงพอ: ตรวจสอบและดูว่า javac ใน PATH ของคุณทำงานหรือไม่ javac -version

ถ้าไม่ทำตามคำตอบของนิโคลัสยกเว้นว่าแทนที่จะsudo update-alternatives --config javacใช้สิ่งนี้:

sudo update-alternatives --config java

และเลือก Java 7 ที่พร้อมท์โดยพิมพ์2:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
* 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number:

2

ไม่แน่ใจว่าสิ่งนี้จะช่วยได้หรือไม่ แต่มันได้ผลกับฉัน ฉันมีปัญหานี้javacไม่ได้อยู่ที่นั่นที่ไหนก็ได้อาจเป็นเพราะฉันติดตั้งjreเท่านั้น การติดตั้งjdkหลังจากjreแก้ไข

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