Điểm:0

Cách chọn JDK cho Ubuntu VM nhất định

lá cờ pw

Máy Windows 10 của tôi là HP EliteBook 840 G6 chạy i5-8365U. Gần đây tôi đã cài đặt Ubuntu 20.04.3 LTS dưới dạng VM trên VirtualBox 6.1.28. Tệp ISO ubuntu-20.04.3-desktop-AMD64.iso đến từ https://ubuntu.com/download/desktop.

Tôi phải chọn một JDK 8 (LTS) từ AdoptOpenJDK, HotSpot JVM, cập nhật 265. Đây là trang thứ hai của https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot. Có thể tìm thấy các tệp được liên kết bằng cách tìm kiếm chuỗi "265" ở độ tuổi này.

Có nhiều tùy chọn Linux để lựa chọn:

  Linux ppc64le
  Linux s390x
  Linuxx64
  cánh tay Linux32
  Linux aarch64

Tôi đoán rằng tôi chọn "x64" vì tên tệp ISO Ubuntu của tôi có chứa "amd64"?

Tôi không chắc đây là câu hỏi về Ubuntu hay câu hỏi về VM.

lá cờ in
Nếu bạn đang sử dụng ISO 64 bit (được bộ xử lý Intel/AMD hỗ trợ), thì bạn sẽ muốn `x64`
lá cờ pw
@matigo: Cảm ơn. Tôi sẽ tiến hành. Bạn có muốn gửi nó như là câu trả lời?
lá cờ in
Không cần. Đó là một lớp lót.
lá cờ pw
Tôi muốn kết thúc một kết thúc lỏng lẻo để "hệ thống" không coi câu hỏi này là chưa được trả lời.
Điểm:1
lá cờ ag

Tôi nghĩ bạn có thể gặp vấn đề X-Y, cụ thể là tất cả những gì bạn Thực ra muốn là một JVM cho hệ thống của bạn.

tl;dr sudo apt cài đặt mặc định-jdk

Theo đề xuất bằng cách chạy java trên phiên bản Ubuntu 20.04 LTS WSL:

tra@Thunder:~$java

Không tìm thấy lệnh 'java', nhưng có thể được cài đặt bằng:

sudo apt install openjdk-11-jre-headless # phiên bản 11.0.11+9-0ubuntu2~20.04 hoặc
Sudo apt cài đặt mặc định-jre # phiên bản 2:1.11-72
Sudo apt cài đặt openjdk-16-jre-headless # phiên bản 16.0.1+9-1~20.04
sudo apt cài đặt openjdk-8-jre-headless # phiên bản 8u292-b10-0ubuntu1~20.04
Sudo apt cài đặt openjdk-13-jre-headless # phiên bản 13.0.7+5-0ubuntu1~20.04
Sudo apt cài đặt openjdk-17-jre-headless # phiên bản 17+35-1~20.04

Nói cách khác, bạn đã có sẵn một số gói trong hệ thống gói Ubuntu. Lưu ý rằng nếu bạn thực sự cần biên dịch chương trình, bạn cần nhiều hơn như javac Trình biên dịch Java.

tra@Thunder:~$ javac

Không tìm thấy lệnh 'javac', nhưng có thể được cài đặt bằng:

Sudo apt install openjdk-11-jdk-headless # phiên bản 11.0.11+9-0ubuntu2~20.04 hoặc
Sudo apt cài đặt mặc định-jdk # phiên bản 2:1.11-72
Sudo apt cài đặt openjdk-16-jdk-headless # phiên bản 16.0.1+9-1~20.04
Sudo apt cài đặt openjdk-8-jdk-headless # phiên bản 8u292-b10-0ubuntu1~20.04
Sudo apt cài đặt openjdk-13-jdk-headless # phiên bản 13.0.7+5-0ubuntu1~20.04
Sudo apt cài đặt openjdk-17-jdk-headless # phiên bản 17+35-1~20.04
Sudo apt cài đặt ecj # phiên bản 3.16.0-1

Trừ khi bạn có những yêu cầu rất cụ thể, có khả năng rất cao là mặc định-jdk sẽ làm những gì bạn cần.

sudo apt cài đặt mặc định-jdk

(trả lời Có và xem các bản tải xuống trôi qua)

sau đó

tra@Thunder:~$ javac --version
jac 11.0.11
tra@Thunder:~$ java --version
openjdk 11.0.11 2021-04-20
Môi trường thời gian chạy OpenJDK (bản dựng 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (bản dựng 11.0.11+9-Ubuntu-0ubuntu2.20.04, chế độ hỗn hợp, chia sẻ)
lá cờ pw
Cảm ơn, Thorbjorn Ravn Andersen. Trên thực tế, tôi muốn cập nhật #265, Bản dựng 01. Tôi muốn đảm bảo kết quả sử dụng của mình càng giống nhau càng tốt so với kết quả sử dụng bản cập nhật đó và bản dựng trên Windows năm ngoái. Nhưng `Sudo apt install default-jdk` trực tiếp hơn của bạn sẽ được ưu tiên hơn rất nhiều cho các tình huống thông thường hơn.
lá cờ ag
Bạn cũng có thể muốn so sánh với Java 8 được cài đặt với `sudo apt install openjdk-8-jdk`
Điểm:1
lá cờ us

Nếu bạn không chắc chắn về kiến ​​trúc hệ thống của mình, bạn có thể sử dụng uname -m hoặc vòm lệnh từ một thiết bị đầu cuối. Nếu bạn nhận được x86_64 -> Đó là x64.
bạn có thể tham khảo câu trả lời này để biết thêm chi tiết.

Bên cạnh đó, như bạn có thể nhận thấy, AdoptOpenJDK đã chuyển sang Eclipsehttps://adoptopenjdk.net sẽ không được cập nhật kể từ tháng 7 năm 2021. Trang web mới là https://adoptium.netvà tên phân phối hiện là "Temurin". Điều đó nói rằng, nếu bạn đặc biệt cần một bản dựng 265, thì Adoptium không cung cấp bản dựng đó và tốt hơn hết bạn nên sử dụng AdoptOpenJDK.

lá cờ pw
Cảm ơn, FloT. Bạn đã trả lời 2 câu hỏi, cả hai đều hữu ích. Đầu tiên, làm thế nào để truy vấn hệ thống cho kiến ​​trúc. Thứ hai, cách nhãn được trả lại ánh xạ tới các tùy chọn được liệt kê trong câu hỏi đã đăng của tôi. Tôi đánh giá cao tin tức về sự thay đổi trong AdoptOpenJDK. Tuy nhiên, trên thực tế, tôi cần bản cập nhật 265, bản dựng 01. Tôi đang cố gắng đảm bảo rằng kết quả giống như năm ngoái, khi tôi đã thực hiện một số việc trên Windows bằng bản cập nhật và bản dựng đó.
Điểm:0
lá cờ pw

Theo matigonhận xét của anh ấy, "Nếu bạn đang sử dụng ISO 64 bit (được hỗ trợ bởi bộ xử lý Intel/AMD), thì bạn sẽ muốn x64."

Tôi thực sự không phải tải xuống từ thông quaopenjdk Địa điểm https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot và cố gắng tìm ra cách cài đặt. Thay vào đó, tôi tìm thấy hướng dẫn Bash tại https://gist.github.com/phillipsj/950235f411dec9e0e90e199c6dde12e9 để "quên" tarball và cài đặt nó:

# cài đặt-openjdk-8.sh
# ----------------------
wget -q https://github.com/AdoptOpenJDK/openjdk8-releases/releases/download/jdk8u172-b11/OpenJDK8_x64_Linux_jdk8u172-b11.tar.gz
tar -xf OpenJDK8_x64_Linux_jdk8u172-b11.tar.gz
sudo mkdir /usr/lib/jvm && sudo mv jdk8u172-b11 /usr/lib/jvm/jdk8u172-b11
xuất Java_HOME=/usr/lib/jvm/jdk8u172-b11
xuất PATH=/usr/lib/jvm/jdk8u172-b11/bin
phiên bản java

Tôi đã sửa đổi nó cho URL của tarball cho phiên bản của tôi, như được tìm thấy trên thông quaopenjdk trang web và sửa một số bệnh lý mà tôi gặp phải:

cd ~/tmp
wget -q https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u265-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz
tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz

# Đã thực hiện các bước tiếp theo theo cách thủ công trong trường hợp chuỗi phiên bản
# trong tên tệp có mẫu khác.
# Họ không làm vậy, vì vậy chỉ cần thay thế jdk8u172-b11 bằng jdk8u265-b01.
# Không thể chỉ dán hàng loạt dòng vào dấu nhắc Bash vì
# "sudo" muốn mật khẩu từ bàn phím, vì vậy hãy tách dòng ghép.
sudo mkdir /usr/lib/jvm
sudo mv jdk8u265-b01 /usr/lib/jvm/jdk8u265-b01

# Các lần xuất sau đây có thể cần phải đi vào ~/.profile hoặc
# một số như vậy. Tôi cần biết nên đặt tệp ~/.* nào vào và/hoặc
# tại sao ~/.profile không chạy sau "su - tên người dùng". Hiện tại,
# nguồn thủ công ~/.profile sau "su".
xuất Java_HOME=/usr/lib/jvm/jdk8u265-b01
xuất PATH="$PATH:/usr/lib/jvm/jdk8u265-b01/bin"
phiên bản java

   phiên bản openjdk "1.8.0_265"
   Môi trường thời gian chạy OpenJDK (Áp dụngOpenJDK)(bản dựng 1.8.0_265-b01)
   OpenJDK 64-Bit Server VM (AdoptOpenJDK)(bản dựng 25.265-b01, chế độ hỗn hợp)

java nào java

   /usr/lib/jvm/jdk8u265-b01/bin/java
   /usr/lib/jvm/jdk8u265-b01/bin/javac

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.