apt-get install openjdk-7-jdk không cài đặt javac. Tại sao?


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

Sau đó tôi chạy sudo apt-get install openjdk-7-jdkvà mọi thứ hoạt động. Nhưng sau đó javacvẫn không tồn tại và tôi nhận được lỗi tương tự như trên. Điều tương tự với openjdk-6-jdk. Tại sao?

Câu trả lời:


10

Chừng nào tiến trình cài đặt hoàn thành mà không có lỗi, có một javac thực thi trên hệ thống của bạn; vì một số lý do, tôi đã không được liên kết chính xác với / usr / bin. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javacsẽ tạo liên kết đó và sẽ khắc phục vấn đề của bạn.


6
Điều gì nếu nó không được cài đặt đúng. Tôi không thấy javac trong thư mục chính nó.
Veer Shrivastav

23

Các Debian / Ubuntu cách thích hợp để cấu hình mà javacđược trỏ đến bởi /usr/bin/javaclà sử dụng update-alternativeslệnh. Bạn có thể thực hiện tương tác và chọn từ danh sách các tùy chọn khả dụng:

sudo update-alternatives --config javac

Hoặc bạn có thể chỉ định tùy chọn nào bạn muốn trên dòng lệnh:

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

Do cách lưu trữ thông tin, việc sử dụng update-alternativeskhông hoàn toàn tương đương (nhưng thay vào đó được coi là thích hợp hơn) để tự tạo /usr/bin/javamột liên kết tượng trưng cho javacsự lựa chọn của bạn . Xem man update-alternativesđể biết thêm thông tin về điều này.

Nếu update-alternativeskhông hoạt động, sau đó chạy lệnh này và thử lại:

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

13

Đây là những gì tôi đã làm. Nó đã làm việc.

Đầu tiên tôi đã cài đặt jdk cho Java 7 như thế này:

sudo apt-get install openjdk-7-jdk

Điều đó có thể là đủ: kiểm tra và xem nếu javac trong PATH của bạn bằng cách chạy javac -version

Nếu không, hãy làm theo câu trả lời của Nicholas ngoại trừ việc thay vì sudo update-alternatives --config javacsử dụng điều này:

sudo update-alternatives --config java

Và đã chọn Java 7 tại dấu nhắc bằng cách gõ 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

Không chắc chắn nếu điều này giúp, nhưng nó làm việc cho tôi. Tôi đã có vấn đề này, javac đơn giản là không có ở đó, bất cứ nơi nào, có lẽ vì tôi chỉ cài đặt jre . Cài đặt jdk sau khi jre sửa nó.

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.