Használja a JRE / JDK bizonyos verzióit bizonyos programokhoz

ArchLinux-ot és egy PyCharm nevű IDE-t használok. letöltési oldalán javasolja a Java 6 használatát az OpenJDK helyett. Az ArchLinux rendelkezik egy OpenJDK csomaggal (jdk7-openjdk), amelyet telepítettem, telepítettem, és abból, amit olvastam a Java Java Arch Wiki-jéből , lehetővé kell tenni az Oracle Java 6 telepítését az OpenJDK 7 oldalára az jdk6-compat és jre6-compat nevű csomagokon keresztül, amelyek telepítik a Java ezen verziói a /opt/ fájlban a normál hely helyett.

Azonban a jdk6-compat és a jre6-compat, akkor is látom, hogy az OpenJDK 7-et futtatom, amikor a következőket futtatom:

% 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) 

… még azután is, hogy beállították a JAVA_HOME elemet, és hozzáadták a /opt/java6/bin elemet a PATH fájlhoz a .zshrc fájl.

Hogyan érhetem el, hogy a PyCharm (vagy más alkalmazások) az Oracle Java 6-ot használja az OpenJDK helyett?

Köszönöm, és elnézést kérek, ha közzétettem rossz helyen van.

További hasznos információk:

  • A Gnome 3 használata DE-ként

Válasz

Ha másik verziót akarok használni A Java-ból két dolgot csinálok:

  • Először állítsd be a JAVA_HOME -et a Java adott telepítéséhez, és exportáld.
  • Ezután frissítse az utamat a következővel: `PATH = $ {JAVA_HOME} / bin: $ {PATH}.

A PATH módja miatt keresett, ha hozzáadod az útvonal végéhez, az új verzió nem lesz használható. Bármi, ami hozzáadódik az útvonal végéhez, csak új parancsokat ad hozzá, nem helyettesíti a meglévő parancsokat. A PATH változó előkészítése az új könyvtárban lévő parancsot használja a többi parancs helyett.

Parancsok, például java gyakran számos szimbolikus linket tartalmaz, mielőtt eljutna a programba. Az ${JAVA_HOME}/bin használata megkerüli az esetleges indirekciókat, és közvetlen elérési utat biztosít a különböző Java-val kapcsolatos parancsokhoz.

SZERKESZTÉS: Ha csak bizonyos programokat szeretne futtatni, más verzióval Java-ból egy ilyen burkolót használhat:

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

Ezután egy hasonló paranccsal hívhatja a burkolót.

javawrapper /opt/java6 PyCharm 

Hozzáadhat álnevet is ehhez hasonló ~/.bashrc fájljához

alias PyCharm="javawrapper /opt/java6 PyCharm" 

Megjegyzések

  • Nos, ez megoldja a probléma felét; A $PATH elejéhez inkább a végéhez csatoltam. De hogyan futtathatom csak a Java különböző verzióit bizonyos alkalmazásokhoz?
  • Frissítettem a válaszomat. <

A tiédhez hasonló esetben azonban ritkán kell a programokat az alapértelmezett Java verziót használnom.

Válasz

Az ArchLinux a különböző JDK-kat az / usr / lib / jvm könyvtárban tartja, az alapértelmezett JDK megváltoztatása az ott található szimbolikus hivatkozások módosítását jelenti:

# 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 

Az Arch-nak van egy speciális szkriptje erre:

# archlinux-java set java-10-openjdk 

és megkapja:

# 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) 

használhatja a “javítás” és az “állapot” opciókat is:

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

Megjegyzések

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük