Làm cách nào tôi có thể cài đặt JDK không đầu trên máy chủ Ubuntu Jaunty?


8

Gần đây tôi đã thiết lập một máy chủ xây dựng yêu cầu chạy JDK (ví dụ, để biên dịch các nguồn Java). Gói OpenJDK trong Ubuntu lấy JRE OpenJDK làm phụ thuộc, đến lượt nó, phụ thuộc vào một số lượng lớn các gói chỉ phù hợp với môi trường đồ họa. Đối với JRE tiêu chuẩn, có một phiên bản không đầu của gói, nhưng đối với JDK thì không.

Vấn đề này đã được thảo luận ở nhiều nơi trước đây và một giải pháp mà tôi tìm thấy và sử dụng là:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

Trong khi điều này hoạt động, bây giờ nó rời khỏi hệ thống của tôi với một cây phụ thuộc bị hỏng và apt-get từ chối cài đặt thêm cho đến khi tôi chạy apt-get -f.

Có một giải pháp tốt hơn cho điều này?

Câu trả lời:


4

Điều này đã được thảo luận trong lỗi ubfox sau đây .

Theo như tôi có thể thấy bạn có các tùy chọn sau:

  1. Sử dụng JDK Java không miễn phí từ Sun. (Bạn có thể sử dụng chương trình JavaPackage từ debian / ubfox để tạo một bản sửa lỗi của java JDK không miễn phí).
  2. Làm việc với các nhà phát triển Ubuntu để giải quyết vấn đề này.
  3. Tạo gói không đầu OpenJDK của riêng bạn.

Tất nhiên, tùy chọn 2 là tốt nhất trong dài hạn, vì nó giải quyết vấn đề cho mọi người, và tùy chọn 1 và 3 chỉ giải quyết nó cho bạn, tuy nhiên 1 và 3 nhanh hơn.


1
Chủ đề lỗi đó có vẻ không hứa hẹn với tôi. Có vẻ như có một số tác dụng phụ cần được khắc phục và người bảo trì dường như không quá háo hức trong việc giải quyết vấn đề. Có lẽ tôi sẽ ích kỷ và đi tìm Sun JDK.
Hanno Fietz

1
Tôi nên làm gì để thực hiện tùy chọn 3? Xem serverfault.com/questions/755573 cho câu hỏi của tôi.
Equaeghe

2

Bạn không thể tải xuống và cài đặt JDK của Sun sao? Không biên dịch, không yêu cầu X11. Tôi thích nó cho các tùy chọn đóng gói.

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH

0

Tôi nghi ngờ anh ta chỉ cần cập nhật các liên kết thay thế vv của mình:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(hoặc điều tương tự)

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.