Käytä tiettyä JRE / JDK-versiota tietyissä ohjelmissa

Käytän ArchLinuxia ja PyCharm-nimistä IDE: tä. -lataussivulla se suosittelee Java 6: n käyttöä OpenJDK: n sijaan. ArchLinuxilla on OpenJDK-paketti (jdk7-openjdk), jonka olen asentanut, asentanut ja siitä, mitä olin lukenut Java-sivun Arch Wikistä , Oracle Java 6: n pitäisi olla mahdollista asentaa OpenJDK 7: n sivulle pakettien jdk6-compat ja jre6-compat kautta, jotka asentavat nämä Java-versiot /opt/: ssä normaalin sijainnin sijasta.

Asennuksen jälkeen jdk6-compat ja jre6-compat, näen silti, että olen suorittamassa OpenJDK 7: tä, kun suoritan seuraavia:

% java -version java version "1.7.0_09" OpenJDK Runtime Environment (IcedTea7 2.3.3) (ArchLinux build 7.u9_2.3.3-1-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) 

… silloinkin kun olen ovat asettaneet JAVA_HOME ja lisänneet /opt/java6/bin omaan PATH kohtaan .zshrc -tiedosto.

Kuinka saan PyCharmin (tai muiden sovellusten) käyttämään Oracle Java 6: ta OpenJDK: n sijaan?

Kiitos ja anteeksi, jos olen lähettänyt viestin väärässä paikassa.

Muita hyödyllisiä tietoja:

  • Gnome 3: n käyttö DE: nä

Vastaa

Jos haluan käyttää eri versiota Java-ohjelmasta teen kaksi asiaa:

  • Aseta ensin JAVA_HOME asianmukaiseen Java-asennukseen ja vie se.
  • Päivitä sitten polkuni nimellä `PATH = $ {JAVA_HOME} / bin: $ {PATH}.

PATH -tavan vuoksi haettu, jos lisäät polun loppuun, uutta versiota ei käytetä. Kaikki polun loppuun lisätty lisää vain uusia komentoja, se ei korvaa olemassa olevia komentoja. Muuttujalle PATH valmistautuminen käyttää komentoa uudessa hakemistossa muiden komentojen sijaan.

Komennot, kuten java sisältää usein useita symbolisia linkkejä ennen kuin pääset ohjelmaan. ${JAVA_HOME}/bin -toiminnon käyttö ohittaa kaikki epäsuorat kohdat ja tarjoaa suoran polun eri Java-komentoihin.

MUOKKAA: Jos haluat käyttää vain tiettyjä ohjelmia eri versiolla Java, voit käyttää tällaista kääriä:

#!/bin/bash # javawrapper - replace Java for a command. export JAVA_HOME=$1; shift PATH=${JAVA_HOME}/bin:$PATH $* 

Sitten voit soittaa kääreelle komennolla kuten.

javawrapper /opt/java6 PyCharm 

Voit myös lisätä aliaksen ~/.bashrc -tiedostoon näin

alias PyCharm="javawrapper /opt/java6 PyCharm" 

Kommentit

  • No, se ratkaisee puolet ongelmasta; Olin liittymässä loppuun $PATH -kohdan alkuun. Mutta miten voin käyttää Java-eri versiota vain tietyille sovelluksille?
  • Olen päivittänyt vastaukseni '. Sinun kaltaisessasi tapauksessa minun on kuitenkin harvoin tarvinnut pitää ohjelmia Java-oletusversiota käyttäen.

Vastaa

ArchLinux pitää eri JDK: t hakemistossa / usr / lib / jvm, JDK-oletusarvon muuttaminen on kyseisten symbolisten linkkien muokkaamista:

# ls -al /usr/lib/jvm lrwxrwxrwx 1 root root 14 May 31 19:58 default -> java-8-openjdk lrwxrwxrwx 1 root root 18 May 31 19:58 default-runtime -> java-8-openjdk/jre drwxr-xr-x 7 root root 4096 May 27 21:45 java-10-openjdk drwxr-xr-x 6 root root 4096 May 31 14:35 java-8-openjdk drwxr-xr-x 7 root root 4096 May 31 19:56 java-9-openjdk 

Archilla on erityinen komentosarja sitä varten:

# archlinux-java set java-10-openjdk 

ja saat:

# java -version openjdk version "10.0.1" 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10) OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode) 

voit käyttää myös korjaus- ja tila-asetuksia:

# archlinux-java fix # archlinux-java status Available Java environments: java-10-openjdk (default) java-8-openjdk java-9-openjdk 

Kommentit

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *