Puncte:0

Cum să alegeți un JDK pentru o anumită mașină virtuală Ubuntu

drapel pw

Aparatul meu cu Windows 10 este un HP EliteBook 840 G6 care rulează i5-8365U. Am instalat recent Ubuntu 20.04.3 LTS ca VM pe VirtualBox 6.1.28. Fișierul ISO ubuntu-20.04.3-desktop-amd64.iso a fost de la https://ubuntu.com/download/desktop.

Trebuie să aleg un JDK 8 (LTS) de la AdoptOpenJDK, HotSpot JVM, update 265. Acesta este pe a doua pagină a https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot. Fișierele asociate pot fi găsite căutând la această vârstă șirul „265”.

Există multe opțiuni Linux din care să alegeți:

  Linux ppc64le
  Linux s390x
  Linux x64
  brațul Linux32
  Linux aarch64

Bănuiesc că aleg „x64” deoarece numele meu de fișier ISO Ubuntu conține „amd64”?

Nu sunt sigur dacă aceasta este o întrebare Ubuntu sau o întrebare VM.

drapel in
Dacă utilizați ISO pe 64 de biți (acceptat de procesoare Intel/AMD), atunci veți dori `x64`
drapel pw
@matigo: Mulțumesc. voi continua. Ai vrut să postezi asta ca răspuns?
drapel in
Nu este nevoie. Este o singură linie.
drapel pw
Am vrut să înțeleg un capăt liber, astfel încât „sistemul” să nu trateze această întrebare ca fără răspuns.
Puncte:1
drapel ag

Cred că s-ar putea să ai o problemă X-Y, și anume că tu toți într-adevăr want este un JVM pentru sistemul dvs.

tl;dr sudo apt install default-jdk

După cum sugerează alergarea java pe o instanță Ubuntu 20.04 LTS WSL:

tra@Thunder:~$ java

Comanda „java” nu a fost găsită, dar poate fi instalată cu:

sudo apt install openjdk-11-jre-headless # versiunea 11.0.11+9-0ubuntu2~20.04 sau
sudo apt install default-jre # versiunea 2:1.11-72
sudo apt install openjdk-16-jre-headless # versiunea 16.0.1+9-1~20.04
sudo apt install openjdk-8-jre-headless # versiunea 8u292-b10-0ubuntu1~20.04
sudo apt install openjdk-13-jre-headless # versiunea 13.0.7+5-0ubuntu1~20.04
sudo apt install openjdk-17-jre-headless # versiunea 17+35-1~20.04

Cu alte cuvinte, aveți deja câteva disponibile în sistemul de pachete Ubuntu. Rețineți că, dacă aveți nevoie de fapt să compilați programe, aveți nevoie de mai multe asemenea javac compilator Java.

tra@Thunder:~$ javac

Comanda „javac” nu a fost găsită, dar poate fi instalată cu:

sudo apt install openjdk-11-jdk-headless # versiunea 11.0.11+9-0ubuntu2~20.04 sau
sudo apt install default-jdk # versiunea 2:1.11-72
sudo apt install openjdk-16-jdk-headless # versiunea 16.0.1+9-1~20.04
sudo apt install openjdk-8-jdk-headless # versiunea 8u292-b10-0ubuntu1~20.04
sudo apt install openjdk-13-jdk-headless # versiunea 13.0.7+5-0ubuntu1~20.04
sudo apt install openjdk-17-jdk-headless # versiunea 17+35-1~20.04
sudo apt install ecj # versiunea 3.16.0-1

Dacă nu aveți cerințe foarte specifice, există șanse foarte bune ca default-jdk va face ceea ce ai nevoie.

sudo apt install default-jdk

(Răspundeți Da și uitați-vă la trecerea descărcărilor)

Atunci

tra@Thunder:~$ javac --version
javac 11.0.11
tra@Thunder:~$ java --version
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK Server VM pe 64 de biți (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mod mixt, partajare)
drapel pw
Mulțumesc, Thorbjorn Ravn Andersen. De fapt, vreau actualizarea #265, Build 01. Vreau să asigur cât mai multă similitudine în rezultatele utilizării mele, în comparație cu munca efectuată folosind aceeași actualizare și construit pe Windows anul trecut. Dar „sudo apt install default-jdk” mai direct ar trebui să fie foarte preferat pentru situații mai obișnuite.
drapel ag
De asemenea, poate doriți să comparați cu Java 8 instalat cu `sudo apt install openjdk-8-jdk`
Puncte:1
drapel us

Dacă nu sunteți sigur de arhitectura sistemului dvs., puteți utiliza uname -m sau arc comanda de la un terminal. Dacă obțineți x86_64 -> Este un x64.
Vă puteți referi la acest raspuns pentru mai multe detalii.

Pe o notă laterală, după cum probabil ați observat, AdoptOpenJDK a trecut la Eclipse și https://adoptopenjdk.net nu va fi actualizat din iulie 2021. Noul site web este https://adoptium.net, iar numele distribuției este acum „Temurin”. Acestea fiind spuse, dacă aveți nevoie în mod specific de o versiune 265, Adoptium nu o oferă și mai bine rămâneți cu AdoptOpenJDK.

drapel pw
Mulțumesc, FloT. Ai răspuns la 2 întrebări, ambele utile. În primul rând, cum să interoghezi sistemul pentru arhitectură. În al doilea rând, modul în care eticheta returnată se mapează cu opțiunile enumerate în întrebarea mea postată. Apreciez veștile despre schimbarea în AdoptOpenJDK. Cu toate acestea, de fapt, am nevoie de actualizarea 265, build 01. Încerc să mă asigur că rezultatele sunt aceleași ca cele de anul trecut, unde am făcut unele lucruri pe Windows folosind acea actualizare și build.
Puncte:0
drapel pw

Conform matigocomentariul lui: „Dacă utilizați ISO pe 64 de biți (acceptat de procesoare Intel/AMD), atunci veți dori x64.”

De fapt, nu a trebuit să descarc de pe adoptopenjdk site-ul https://adoptopenjdk.net/archive.html?variant=openjdk8&jvmVariant=hotspot și încercați să vă dați seama de instalare. În schimb, am găsit instrucțiunile Bash la https://gist.github.com/phillipsj/950235f411dec9e0e90e199c6dde12e9 pentru a "wget" tarball-ul și a-l instala:

# install-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
export JAVA_HOME=/usr/lib/jvm/jdk8u172-b11
export PATH=/usr/lib/jvm/jdk8u172-b11/bin
versiunea java

L-am modificat pentru adresa URL a tarball-ului pentru versiunea mea, așa cum se găsește pe adoptopenjdk site-ul și am remediat unele patologii pe care le-am experimentat:

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

# Am făcut pașii următori manual în cazul șirului de versiune
# în numele fișierului avea un model diferit.
# Nu au făcut-o, așa că înlocuiți jdk8u172-b11 cu jdk8u265-b01.
# Nu pot să lipiți liniile în masă în promptul Bash pentru că
# „sudo” vrea parola de la tastatură, așa că separați linia compusă.
sudo mkdir /usr/lib/jvm
sudo mv jdk8u265-b01 /usr/lib/jvm/jdk8u265-b01

# Următoarele exporturi probabil trebuie să intre în ~/.profile sau
# unii-astfel. Trebuie să știu în ce fișier ~/.* să-l pun și/sau
# de ce ~/.profile nu este rulat după un „su - nume de utilizator”. Deocamdata,
# sursa manuală ~/.profile după „su”.
export JAVA_HOME=/usr/lib/jvm/jdk8u265-b01
export PATH="$PATH:/usr/lib/jvm/jdk8u265-b01/bin"
versiunea java

   versiunea openjdk „1.8.0_265”
   OpenJDK Runtime Environment (AdoptOpenJDK) (build 1.8.0_265-b01)
   VM pentru server OpenJDK pe 64 de biți (AdoptOpenJDK) (build 25.265-b01, mod mixt)

care java javac

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

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.