특정 프로그램에 특정 버전의 JRE / JDK를 사용합니다.

저는 ArchLinux와 PyCharm이라는 IDE를 사용합니다. 다운로드 페이지 에서 OpenJDK 대신 Java 6을 사용하는 것이 좋습니다. ArchLinux에는 내가 설치하고 설치 한 OpenJDK 패키지 (jdk7-openjdk)가 있으며 자바의 Arch Wiki에서 읽은 내용에서 읽었습니다. , jdk6-compatjre6-compat라는 패키지를 통해 OpenJDK 7과 함께 Oracle Java 6을 설치할 수 있습니다. 이러한 버전의 Java는 일반 위치 대신 /opt/에 있습니다.

그러나 jdk6-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를 설정하고 iv id = “26fa4e329f의 PATH/opt/java6/bin를 추가했습니다. “>

파일.

PyCharm (또는 다른 애플리케이션)이 OpenJDK 대신 Oracle Java 6을 사용하도록하려면 어떻게해야합니까?

게시 한 경우 감사합니다. 잘못된 위치에 있습니다.

도움이 될만한 기타 정보 :

  • Gnome 3을 DE로 사용

답변

다른 버전을 사용하려는 경우 Java의 두 가지 작업을 수행합니다.

  • 먼저 해당 Java 설치에 맞게 JAVA_HOME를 설정하고 내보내십시오.
  • 그런 다음`PATH = $ {JAVA_HOME} / bin : $ {PATH}로 내 경로를 업데이트합니다.

PATH가 경로 끝에 추가하면 새 버전이 사용되지 않습니다. 경로 끝에 추가 된 모든 항목은 새 명령 만 추가하고 기존 명령을 대체하지는 않습니다. PATH 변수 앞에 추가하면 새 디렉토리의 명령이 다른 명령보다 우선적으로 사용됩니다.

java와 같은 명령 프로그램에 들어가기 전에 종종 많은 심볼릭 링크를 포함합니다. ${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" 

댓글

  • 그렇게하면 문제의 절반이 해결됩니다. $PATH의 시작 부분이 아니라 끝에 추가했습니다. 하지만 특정 애플리케이션에 대해 다른 버전의 Java 만 실행하려면 어떻게해야합니까?
  • ' 내 응답을 업데이트했습니다. 그러나 귀하와 같은 경우에는 기본 Java 버전을 사용하여 프로그램을 유지할 필요가 거의 없습니다.

답변

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 

댓글

  • I '이 답변이 허용되지 않는 이유를 ' 모릅니 까?
  • blog.debenny.de/2018/07/21/install-jdk-on-arch-linux-manually

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다