programing

update-alternates --config java 명령어 사용 방법

projobs 2022. 10. 1. 14:25
반응형

update-alternates --config java 명령어 사용 방법

Linux Debian(Squeeze) Apache Solr.햇빛을 쬐는 jdk. 다음 해야 한다고 .sudo update-alternatives --config java자바(일광)그러나 이 명령을 실행하면 다음과 같은 메시지가 나타납니다.

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/bin/gij-4.4                           1044      manual mode
  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number:

기본 런타임으로 sun-java를 사용하려면 어떤 번호를 선택해야 합니까?또한 auto 및 manual 모드가 정확히 무엇을 의미합니까?위의 3을 선택하고 update-alternative 명령을 실행하면 위와 같은 출력이 표시됩니다.여기에서도 *가 3 앞에 있는 것 이외에는 아무것도 바뀌지 않은 것 같습니다만, 수동 모드는 아직 읽혀지고 있습니다.

제가 한 일이 맞는지 확인할 방법이 있나요?

'버전 '이렇게'를 update-alternatives --config java합니다.3Sun 구현을 사용합니다.
,에 는, 해서서에 대해서입니다.auto »manual mode은 고르다, 고르다에서 합니다auto mode다음 내용을 기재합니다.

「 」를 하는 --config옵션에서는 지정된 이름이 마스터 링크인 링크 그룹의 모든 선택사항이 나열됩니다.링크 그룹에 사용할 선택지를 묻는 메시지가 나타납니다.하면 은 더 에 .auto mode을.--auto옵션을 선택하여 자동 상태로 돌아갑니다.

나는 믿는다auto mode는, 한 JRE/JDK를 됩니다.

되어 있는 /opt/java/jdk1.8.0_144 다음아까,아까다,아까다.

  1. javac 대체 설치

    $ sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.8.0_144/bin/javac 1
    
  2. 대체 구성 확인/업데이트:

    $ sudo update-alternatives --config javac
    

「 」의 대체 .javac 않으면, 의 합니다.JDK를 사용합니다.

모든 것이 올바르게 설정되어 있는지를 확인하려면 , 다음의 순서에 따릅니다.

$ which javac
/usr/bin/javac

$ ls -l /usr/bin/javac
lrwxrwxrwx 1 root root 23 Sep  4 17:10 /usr/bin/javac -> /etc/alternatives/javac

$ ls -l /etc/alternatives/javac
lrwxrwxrwx 1 root root 32 Sep  4 17:10 /etc/alternatives/javac -> /opt/java/jdk1.8.0_144/bin/javac

그리고 마지막으로

$ javac -version
javac 1.8.0_144

필요에 따라 java, keytool, jar 등에 대해 반복합니다.

update-alternatives에 문제가 .

위해 패키지 " " " " " " " " 입니다.java-common요.update-java-alternatives.

사용하기 쉬워요.먼저 시스템에서 사용할 수 있는 JDK 설치를 나열합니다.

root@mylaptop:~# update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

그리고 하나 고르세요.

root@mylaptop:~# update-java-alternatives -s java-1.7.0-openjdk-amd64

jdk를 설치하는 방법은 다음과 같습니다.

#!/bin/bash
cd /opt/
sudo mkdir java
sudo tar -zxvf ~/Downloads/jdk-8u192-linux-x64.tar.gz
sudo ln -s  jdk1.8.0_192 current
for file in /opt/java/current/bin/*
do
   if [ -x $file ]
   then
      filename=`basename $file`
      sudo update-alternatives --install /usr/bin/$filename $filename $file 20000
      sudo update-alternatives --set $filename $file
      #echo $file $filename
   fi
done

Ubuntu 18.04 LTS를 사용하고 있습니다.대부분의 경우, 제가 옷을 갈아입었을 때java버전, 저도 같은 버전을 사용하고 싶습니다.javac버전입니다.
사용하고 있다update-alternatives이 방법에서는java_home대신 다음을 수행합니다.

인스톨

에 모든 Java 버전을 설치합니다./opt/java/<version>,예를들면

~$ ll /opt/java/
total 24
drwxr-xr-x 6 root root 4096 jan. 22 21:14 ./
drwxr-xr-x 9 root root 4096 feb.  7 13:40 ../
drwxr-xr-x  8 stephanecodes stephanecodes 4096 jan.   8  2019 jdk-11.0.2/
drwxr-xr-x  7 stephanecodes stephanecodes 4096 dec.  15  2018 jdk1.8.0_201/

대체 구성

~$ sudo update-alternatives --install /opt/java/current java_home /opt/java/jdk-11.0.2/ 100
~$ sudo update-alternatives --install /opt/java/current java_home /opt/java/jdk1.8.0_201 200

선언하다JAVA_HOME(이 경우 글로벌 초기화 스크립트를 사용합니다)

~$ sudo sh -c 'echo export JAVA_HOME=\"/opt/java/current\" >> environment.sh'

로그아웃 또는 Ubuntu 재시작(새로고침)/etc/profile.d/environment.sh)

사용.

Java 버전 변경

사용할 버전을 선택합니다.

~$ sudo update-alternatives --config java_home

There are 2 choices for the alternative java_home (providing /opt/java/current).

  Selection    Path                    Priority   Status
------------------------------------------------------------
  0            /opt/java/jdk-11.0.2     200       auto mode
  1            /opt/java/jdk-11.0.2     200       manual mode
* 2            /opt/java/jdk1.8.0_201   100       manual mode

Press <enter> to keep the current choice[*], or type selection number: 

버전 확인

~$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

~$ javac -version
javac 11.0.2

팁.

다음 행을 에 추가합니다.~/.bash_aliases파일:

alias change-java-version="sudo update-alternatives --config java_home && java -version && javac -version"

이제 를 사용합니다.change-java-versionJava 버전을 변경하는 명령어

링크해야 할 바이너리도 많기 때문에 다음과 같은 것을 시도해 보는 것이 좋을 것 같습니다.sudo update-alternatives --all다른 모든 것에 대한 적절한 대안을 선택하는 것 외에java그리고.javac.

jdk를 정기적으로 전환(또는 출시 후 새 것으로 업데이트)하고 싶다면 sdkman을 사용하는 것이 매우 편리합니다.

sdkman으로 maven과 같은 추가 툴도 가능합니다.

열려 있는 jdk를 설치한 후 실행 후 원하는 jdk를 선택합니다.

sudo update-alternatives --config java

명령줄 스크린샷

https://wiki.debian.org/JavaPackage 를 참조해 주세요.이 페이지 하단의 다른 방법은 Java-Common 패키지의 명령어를 사용하여 설명하고 있습니다.

AWS EC2 인스턴스에는 Java 8과 11의 2가지 버전이 설치되어 있지만, cipservice-0.0.1-SNAPSHOT.jar 파일은 Java 11을 사용하여 작성되었기 때문에 실행하기 위해 Java 11이 필요합니다.

[root@ip-module-31-94-module ~]# 대체 --config java

'자바'를 제공하는 프로그램은 두 가지가 있습니다.

선택 명령어

  • java-1.8.0-openjdk x 1x86_64(/usr/lib/jvm/http-1.8.0-openjdk-1.8.0.302.b08-0.amzn2.0.1.x86_64/jre/bin/http)
  • /usr/syslog/jdk-11.0.12/bin/syslog x 2

현재 선택 [+]를 유지하려면 를 입력하거나 선택 번호: 2를 입력합니다.

[root@ip-module-31-94-module ~]# java - version

Java 버전 "11.0.12" 2021-07-20 LTS Java(TM) SE Runtime Environment 18.9(빌드 11.0.12+8-LTS-237) Java HotSpot(TM) 64비트 서버 VM 18.9(빌드 11.012+8-LTS-23 모드 혼합)

이제 특정 .jar 파일을 실행할 수 있습니다.

[root@ip-172-31-94-132~]# java - jar cipservice - 0.0.1-SNAPSHOT . jar

참고 자료: - https://www.server-world.info/en/note?os=CentOS_7&p=jdk11&f=2

언급URL : https://stackoverflow.com/questions/12787757/how-to-use-the-command-update-alternatives-config-java

반응형