특정 프로그램에 특정 버전의 JRE/JDK 사용

특정 프로그램에 특정 버전의 JRE/JDK 사용

저는 ArchLinux와 PyCharm이라는 IDE를 사용합니다. 그것의다운로드 페이지, OpenJDK 대신 Java 6을 사용하는 것이 좋습니다. jdk7-openjdk내 사이트에서 설치, 설치 및 다운로드한 ArchLinux용 OpenJDK 패키지( )가 있습니다.Java용 아치 위키jdk6-compat, 호출된 패키지를 통해 OpenJDK 7과 함께 Oracle Java 6을 설치하고 일반 위치 대신 jre6-compat이러한 Java 버전을 설치하는 것이 가능해야 합니다 ./opt/

그러나 jdk6-compat설치 후 jre6-compat다음 명령을 실행하면 여전히 OpenJDK 7이 실행되고 있는 것으로 표시됩니다.

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

...설정 하고 파일 에 JAVA_HOME추가한 후에도 마찬가지입니다 ./opt/java6/binPATH.zshrc

PyCharm(또는 다른 애플리케이션)이 OpenJDK 대신 Oracle Java 6을 사용하도록 만드는 방법은 무엇입니까?

제가 잘못된 곳에 게시했다면 죄송하고 감사드립니다.

도움이 될 수 있는 기타 정보:

  • Gnome 3를 DE로 사용

답변1

ArchLinux는 /usr/lib/jvm 디렉토리에 다양한 JDK를 저장합니다. 기본 JDK를 변경하려면 해당 디렉토리의 심볼릭 링크를 수정해야 합니다.

# 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

Arch에는 이에 대한 특별한 스크립트가 있습니다:

# archlinux-java set java-10-openjdk

당신은 다음을 얻습니다:

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

복구 및 상태 옵션을 사용할 수도 있습니다.

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

답변2

다른 버전의 Java를 사용하려면 다음 두 가지 작업을 수행합니다.

  • 먼저 JAVA_HOME적절한 Java 설치를 설정하고 내보냅니다.
  • 그런 다음 `PATH=${JAVA_HOME}/bin:${PATH}로 경로를 업데이트했습니다.

검색 방식으로 인해 PATH경로 끝에 추가하면 새 버전이 사용되지 않습니다. 경로 끝에 추가된 내용은 기존 명령을 대체하지 않고 새 명령만 추가합니다. PATH새 디렉터리의 명령은 변수 에 추가되기 전에 다른 명령보다 우선적으로 사용됩니다.

명령에는 프로그램에 들어가기 전에 java많은 기호 링크가 포함되는 경우가 많습니다 . Use는 ${JAVA_HOME}/bin모든 간접 참조를 우회하고 다양한 Java 관련 명령에 대한 직접 경로를 제공합니다.

편집: 다른 버전의 Java를 사용하여 특정 프로그램을 실행하려는 경우 다음과 같은 래퍼를 사용할 수 있습니다.

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

그런 다음 이와 같은 명령을 사용하여 래퍼를 호출할 수 있습니다.

javawrapper /opt/java6 PyCharm

~/.bashrc다음과 같이 파일에 별칭을 추가할 수도 있습니다.

alias PyCharm='javawrapper /opt/java6 PyCharm'

관련 정보