Vraag JDK 7 instellen als standaard


 four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
 /etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
 /etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'

Vergeef mijn noobishness, maar ik interpreteer deze berichten als de runtime-omgeving met behulp van Java 7, maar de compiler gebruikt Java 6?

Klopt dit en zo ja, hoe kan ik dit instellen op Java-versie 7?


66
2018-03-25 10:22


oorsprong




antwoorden:


Schakelen tussen geïnstalleerde Java-versies kan worden uitgevoerd met behulp van de update alternatives opdracht.

  • Om een ​​lijst van uw geïnstalleerde Java-platforms te krijgen, voert u de volgende opdracht uit vanaf de terminal:

    sudo update-alternatives --config java
    

    Dit geeft je een lijstuitvoer vergelijkbaar met deze:

    There are 2 choices for the alternative java (providing /usr/bin/java).
       Selection    Path                                           Priority   Status
      ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-oracle/jre/bin/java         1070      auto mode
      1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
    * 2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1069      manual mode
    Press enter to keep the current choice[*], or type selection number: 
    

In dit geval is de Open JDK 6-versie actief. Om over te schakelen naar de Open JDK-versie 7, zou u een optie selecteren 1 op de prompt en druk op de invoeren sleutel.

U zult nu de OpenJDK 7-versie draaien. Er zijn geen andere wijzigingen nodig om van Java-versie te veranderen.


131
2018-03-25 10:41



Oke dank je wel. Zou ik iets winnen van het verwijderen van jkd6? - Wingsuit
@ user142712 Geen probleem. Ik geloof dat een deïnstallatie ook de oudere browser-plug-in zou verwijderen, wat een voordeel is voor de veiligheid. - Kevin Bowen
Ik zou niet zo snel voor het antwoord "Geen probleem" gaan. Controleren oracle.com/technetwork/java/javase/compatibility-417013.html en upstream-tracker.org/java/versions/jdk.html. Er is geen 100% compatibiliteit tussen deze twee hoofdversies en het kan gebeuren (onwaarschijnlijk maar toch ...) dat je een applicatie X hebt die niet goed kan werken met de zevende versie. Totdat u zeker weet dat er geen problemen zijn, raad ik u ten zeerste aan beide te bewaren, voor het geval u de vorige versie nodig heeft. - rbaleksandar
Gewoon om duidelijk te zijn. De opmerking "geen probleem" was een andere manier om te zeggen dat je welkom bent, ik heb nooit beweerd dat er geen problemen zouden zijn met je Java-installatie. - Kevin Bowen
je moet dit doen javac ook als u de compiler ook wilt wijzigen. - KillBill


Je kan lopen sudo update-alternatives --config javaen selecteer JDK 7 als deze is geïnstalleerd.


10
2018-03-25 10:33



Okay proost, het zegt dat ik twee van JKD7 één lijststatus heb geïnstalleerd als automatisch de andere handleiding. Is er enig verschil? - Wingsuit
Er is hier informatie: linux.die.net/man/8/update-alternatives maar ik zou auto selecteren. - Frederik Spang
"Elke linkgroep bevindt zich op een bepaald moment in een van de twee modi: automatisch of handmatig. Wanneer een groep zich in de automatische modus bevindt, beslist het alternatievensysteem automatisch, terwijl pakketten worden geïnstalleerd en verwijderd, ongeacht of en hoe de koppelingen moeten worden bijgewerkt. In de handmatige modus zal het alternatievensysteem de koppelingen niet veranderen, het laat alle beslissingen over aan de systeembeheerder. " - mpen


Het meest gestemde antwoord dat suggereert te gebruiken

-update-alternatieven

slechts gedeeltelijk de vraag beantwoordt en in feite kan gevaarlijk zijn om te volgen. Door het te gebruiken kom je hoogstwaarschijnlijk uit op een inconsistent Java-omgeving.

Dit is vooral belangrijk als je JDK hebt, niet JRE, als

[sudo] update-alternatives --config java

zal de versie veranderen voor de java opdracht enkel en alleen, d.w.z. herinstalleer hoofd JRE-uitvoerbaar bestand.

javac en andere JDK-tools wijzen nog steeds naar de andere Java-versie. Om volledig te schakelen moet je doorgaan update-alternatives voor alle andere tools.

De gepast en veel makkelijker manier om Java-versies te wisselen in de Linux-distributie met "alternatieven" systeem - d.w.z. in de Debian of zijn afgeleide Ubuntu - is om te gebruiken -update-java-alternatieven opdracht.

update-java-alternatives -l - zal de geïnstalleerde Java-versies vermelden

[sudo] update-java-alternatives -s  - schakelt over naar de gevraagde versie

Bron


10
2018-02-16 19:13



DEZE! Heel erg bedankt. Ik wou dat ik je internet meer punten kon geven, maar ik denk dat ik dat nog niet heb. - Nenotlep


de GUI-manier

$ sudo apt-get install galternatives

$ sudo galternatives

meer hier: https://askubuntu.com/a/159594/216936


4
2018-02-04 16:07



U zegt dat dit de GUI-manier is; maar onmiddellijk neem je als resolutie gebruik van cli-commando's. Kun je uitleggen waarom dit een oplossing is? - Kevin Bowen
@KevinBowen Hiermee installeert u een GUI-toepassing. - WouterH
WouterH heeft gelijk. debianadmin.com/...  thx wouterH - Alexander Pfeif