update-java-alternativer vs update-alternatives --config java
sudo update-alternatives --config java
Konfigurerer standarden for programmet "java". Det er Java VM.
sudo update-alternatives --config javac
Konfigurerer standard Java-kompileren.
Du kan også se det, fordi den første kommando viser en masse "JRE" (Java Runtime Environment) mapper, og programmet hedder bare "java".
Hvis jeg tjekker hvilken version der bruges ved at udstede kommandoenjava -version
ellerjavac -version
,Jeg kan se, at hver kommando ændrer det program, der bruges.
Men ved at bruge update-java-alternatives
med en JDK-version ændrer begge programmer for mig. Ved at bruge de første kommandoer kan du bruge en Java VM og Java Compiler fra forskellige JDK'er.
update-java-alternatives kræver tilstedeværelse af en fil med filtypenavnet .jinfo i mappen /usr/lib/jvm. Opendjk-pakken sendes med en .jinfo-fil, det er Oracles (tidligere Sun) ikke. Som alternativ konfigurerer du alternativer uden update-java-alternatives :
For f.eks. at tilføje java fra jvm-directory /usr/lib/jvm/jdk-12.0.1 (standardbiblioteket i Debian-pakken i Oracle) med prioritet 2082, skal du bruge følgende kommando:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-12.0.1/bin/java 2082
Hvad angår skift til forskellige udviklingsmiljøer:
Snakker du om at starte selve IDE'en med forskellige Java-versioner eller bruge forskellige versioner i IDE til kompilering og kørsel af din app?
For 1.:Du kan angive, hvilken JVM der skal bruges i eclipse.ini, som beskrevet her. Jeg ved ikke, hvordan man gør det for Arduino IDE.
For 2.:I Eclipse kan du vælge den JRE/JDK, der skal bruges i Window -> Preferences -> Java -> Installed JREs. Og under Java -> Compiler kan du vælge en ældre Java compliance, hvis du ønsker det.
EDIT:Denne DigitalOcean-side har også en meget fin forklaring på alt relateret til Java på Ubuntu.
update-java-alternatives
er et program til at opdatere alternativer til jre/jdk
installationer.
update-alternatives
er et symbolsk link management system til linux (jeg er sikker på, at der er lidt nyheder her).
Du kan, og burde virkelig, bruge begge update-java-alternatives
og update-alternatives
sammen.
For det første skal du sørge for at have alle alternativerne konfigureret korrekt. java og javac er kun nogle få. Der er javadoc
, rmic
, serialver
og andre, der erstatter ovenstående variabler med:native2ascii
og /opt/jdk1.8.0_40/bin/native2ascii
skal rapportere om alternativet er installeret og/eller valgt.
Når alle alternativer er konfigureret, kan du oprette links i /usr/lib/jvm
til din manuelle installation.
For at konfigurere update-java-alternatives
du skal bruge en skjult fil med samme navn som din mappe, men med et . (prik).
Håber dette hjælper.
Bibliografi
man -S 8 update-java-alternatives
http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html
https://stackoverflow.com/questions/6477415/how-to-set-oracles-java-as-the-default-java-in-ubuntu