Java är ett av de mest populära programmeringsspråken som används för att bygga olika typer av applikationer och system.
det finns två olika implementeringar av Java, OpenJDK och Oracle Java, med nästan inga skillnader mellan dem, förutom att Oracle Java har några ytterligare kommersiella funktioner. Oracle Java-Licenstillåter endast icke-kommersiell användning av programvaran, såsom personligt bruk och utvecklingsanvändning. OpenJDK är en öppen källkodsimplementering av Java-plattformen.
standard CentOS 8 repositories innehåller de senaste två stora Java LTS-versionerna, Java 8 och Java 11.
i denna handledning kommer vi att förklara hur man installerar en eller flera Java (OpenJDK) versioner på CentOS 8 och hur man ställer in standard Java via Alternativ.
installera OpenJDK 11 #
den allmänna rekommendationen är att installera den senaste versionen av Java LTS (JDK 11). Vissa Java – baserade program kan kräva en specifik version av Java, så du kan behöva läsa programdokumentationen.
för att installera OpenJDK 11 på CentOS 8, Kör följande kommando som root eller användare med sudo-privilegier:
sudo dnf install java-11-openjdk-devel
När installationen är klar kan du verifiera den genom att kontrollera Java-versionen:
java -version
utmatningen ska se ut så här:
openjdk version "11.0.4" 2019-07-16 LTSOpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
det är det! Du har installerat Java på ditt CentOS 8-system.
CentOS 8 stöder också en huvudlös version av OpenJDK som ger en minimal Java-körtid som behövs för att köra applikationer utan grafiskt användargränssnitt (inget tangentbord, mus och displaysystem stöder). Denna version är mer lämplig för serverapplikationer eftersom den har färre beroenden och använder färre systemresurser.
för att bara installera den headless OpenJDK 11-typen:
sudo dnf install java-11-openjdk-headless
Om du redan har installerat java-11-openjdk-devel
, kommer headless-paketet att installeras som ett beroende.
installera OpenJDK 8 #
Java 8, Den tidigare Java LTS-versionen, stöds fortfarande och används ofta. Om din applikation kräver Java 8 kan du installera den genom att skriva följande kommando:
sudo dnf install java-1.8.0-openjdk-devel
Verifiera installationen genom att kontrollera Java-versionen:
java -version
utgången ska se ut så här:
openjdk version "1.8.0_222"OpenJDK Runtime Environment (build 1.8.0_222-b10)OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
för minimal Java Runtime, installera paketet java-1.8.0-openjdk-headless
.
ställa in standard Java-Version #
om du har installerat flera Java-versioner på ditt CentOS-system kan du använda alternativsystemet för att ställa in vilken Java-version som ska användas när du skriver java
i terminalen.
för att kontrollera vilken Java-version som är inställd som standard, skriv:
java -version
om du vill ändra standardversionen, använd kommandot alternatives
:
sudo alternatives --config java
utmatningen kommer att se ut som nedan:
There are 2 programs which provide 'java'. Selection Command----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)Enter to keep the current selection, or type selection number:
en lista över alla installerade Java-versioner kommer att skrivas ut på skärmen. Ange numret på den version du vill använda som standard och tryck på Enter
.
Du kanske också vill ändra standard javac
version:
sudo alternatives --config java
javac
är ett kommandoverktyg för att sammanställa Java-program.
ställa in miljövariabeln JAVA_HOME #
JAVA_HOME
miljövariabelanvänds av vissa Java-applikationer för att bestämma Java-installationsplatsen och ange vilken Java-version som ska användas för att köra programmet.
för att ställa inJAVA_HOME
variabeln per användare, Lägg till den i~/.bashrc
eller någon annan konfigurationsfil som laddas när användaren loggar in. För en systemomfattande inställning, Använd ett skript i katalogen/etc/profile.d
.
förutsatt att du vill ställa in JAVA_HOME
för att OpenJDK 8 Lägg till följande rad i slutet av filen:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
för att ändringar ska träda i kraft på ditt nuvarande skal kan du antingen logga ut och logga in eller använda kommandot source
:
source /etc/profile.d/java.sh
kontrollera att JAVA_HOME
miljövariabeln var korrekt inställd:
echo $JAVA_HOME
utgången ska visa sökvägen till Java-installationen:
/usr/lib/jvm/java-1.8.0-openjdk
Du kan också ställa in JAVA_HOME
i applikationskonfigurationen, systemd-enhetsfilen eller på kommandoraden när programmet startas.
till exempel för att köra Maven med Java 8 skulle du skriva:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre...
slutsats #
CentOS 8 stöder två stora Java-versioner, Java 8 och Java 11, som kan installeras med dnf
pakethanterare.