우리는 자바 소스 코드를 구축하고 있습니다. Ubuntu의 공식 저장소를 사용하여 빌드했을 때 실제로 10.0.2가 설치되었습니다. 바라보다
-------- which javac ---------------
/usr/lib/jvm/java-11-openjdk-amd64/bin/javac
-------- java -version ---------------
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)`
우리는 Java 11을 사용해야하므로 우리가하는 방식으로 빌드합니다.
아래에서는 다시 시작하지 않고 Java jdk를 다시 로드하는 방법을 찾고 싶습니다. 우리는 다음 유형 중 하나로 교체
하고 싶습니다 .shutdown -r
source
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
shutdown -r
sudo update-alternatives --config java
sudo update-alternatives --config javac
java -version
다시 시작한 후openjdk version '11.0.1" 2018-10-16
그러면 무엇을 할 수 있나요?
답변1
재부팅이 필요하지 않습니다.
명령 sudo update-alternatives --config java
은 실제로 기본 버전을 하나의 Java 버전에서 다른 버전으로 전환하는 대부분의 작업을 수행합니다. 그러나 해당 명령 후에는 hash -r
현재 세션의 셸을 실행하여 다양한 실행 파일이 실제로 어디에 있는지에 대한 이전 아이디어를 잊어버리고 재부팅할 수 있습니다. 버전 10.0.1이 아직 설치된 최신 버전일 때 이 명령을 사용 하면 java
쉘은 해당 위치를 캐시하고 로그아웃/로그인 또는 재부팅 시 알림이 있을 때까지 계속 사용할 수 있습니다 hash -r
(이 목적으로는 약간 너무 과함). ).
친구가 명시적 설정 $JAVA_HOME
이나 기타 관련 환경 변수를 로그인 스크립트에 추가한 경우 로그아웃했다가 다시 로그인해야 할 수도 있습니다.
따라서 다음 절차를 권장합니다.
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
hash -r
java -version
<if still indicates an old version, then logout & login again>