Vraag update-java-alternatives vs update-alternatieven --config java


Op Ubuntu 12.04 LTS heb ik Sun's JDK7, Eclipse en de Arduino IDE geïnstalleerd. Ik wil dat de Arduino OpenJDK 6 gebruikt en wil dat Eclipse de JDK 7 van Sun gebruikt.

Van mijn inzicht moet ik handmatig kiezen welke Java moet worden gebruikt voordat elke applicatie wordt uitgevoerd. Dit leidde me naar de update-java-alternatives -l opdracht. Wanneer ik dit doe, zie ik alleen het volgende:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

maar als ik ren update-alternatives --config java Ik zie het volgende:

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

Ik begrijp niet waarom het update-java-alternatives geeft niet dezelfde 3 opties weer. Ik begrijp ook niet hoe te schakelen tussen OpenJDK6 en JDK7. Hoe kan ik het gebruiken van de OpenJDK6 voor Arduino-ontwikkeling en Sun JDK7 voor Eclipse / Android-ontwikkeling?


68
2017-07-02 22:32


oorsprong




antwoorden:


sudo update-alternatives --config java

Configureert de standaard voor het programma "java". Dat is de Java VM.

sudo update-alternatives --config javac

Configureert de standaard Java-compiler.

U kunt dat ook zien, omdat de eerste opdracht een groot aantal "JRE" (Java Runtime Environment) mappen bevat en het programma gewoon "java" wordt genoemd.

Als ik controleer welke versie wordt gebruikt door de opdracht uit te voeren java -version of javac -version, Ik kan zien dat elke opdracht het gebruikte programma verandert.

Echter, met behulp van update-java-alternatives met wijzigingen in de JDK-versie beide programma's voor mij. Met behulp van de eerste opdrachten kunt u een Java VM en een Java Compiler van verschillende JDK's gebruiken.

Dus het lijkt erop dat je de openjdk-7-jdk pakket ook. Het lijkt erop dat je alleen bent geïnstalleerd openjdk-7-jre.

Overstappen voor verschillende ontwikkelomgevingen:

Heb je het over het starten van de IDE zelf met verschillende Java-versies of met verschillende versies in de IDE voor het compileren en uitvoeren van uw app?

Voor 1 .: u kunt aangeven welke JVM moet worden gebruikt in de eclipse.ini, zoals beschreven hier. Ik weet niet hoe dat te doen voor de Arduino IDE.

Voor 2 .: In Eclipse kunt u de JRE / JDK selecteren die moet worden gebruikt in Venster -> Voorkeuren -> Java -> Geïnstalleerde JRE's. En onder Java -> Compiler kunt u desgewenst een oudere Java-compliantie kiezen.


95
2017-12-10 11:17





update-java-alternatives is een programma om alternatieven voor bij te werken jre/jdk installaties.

update-alternatives is een symbolisch linkbeheersysteem voor linux (ik weet zeker dat hier weinig nieuws is).

U kunt beide gebruiken en echt gebruiken update-java-alternatives en update-alternatives samen.

Zorg er in de eerste plaats voor dat alle alternatieven correct zijn geconfigureerd. java en javac zijn er maar een paar. Er bestaat javadoc, rmic, serialver en anderen, in de plaats van de bovenstaande variabelen voor: native2ascii en /opt/jdk1.8.0_40/bin/native2ascii moet rapporteren als het alternatief is geïnstalleerd en / of geselecteerd.

Wanneer alle alternatieven zijn geconfigureerd, kunt u vervolgens koppelingen maken /usr/lib/jvm naar uw handmatige instalatie.

Om te configureren update-java-alternatives u moet een verborgen bestand gebruiken met dezelfde naam als uw directory maar voorafgegaan door een. (punt).

Ik hoop dat dit helpt.

Bibliografie

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


13
2017-08-23 18:11