>  기사  >  Java  >  여러 Java 버전의 유연한 전환 및 관리

여러 Java 버전의 유연한 전환 및 관리

angryTom
angryTom앞으로
2019-11-28 16:41:492940검색

서문: 지난 2년 동안 Java 버전이 자주 업그레이드되어 Java8을 이제 막 마스터한 것 같은 느낌이 듭니다. 이 글을 쓰면서 java14의 소식을 듣게 되었는데, 새로운 기능을 사용하기 위해서인지 Java12의 Collectors.teing의 매우 강력한 기능 또는 프로젝트 업그레이드로 인해/호환성 요구로 인해 우리 모두는 여러 Java 버전을 관리해야 하는 상황에 직면할 수 있습니다.

여러 Java 버전의 유연한 전환 및 관리

또한 Oracle은 Java11부터 사용자 계약을 변경했으며 상업적인 사용에는 요금이 부과됩니다. 이 글을 쓰던 중에 "Microsoft가 OpenJDK에 합류하겠다고 발표했습니다"라는 소식을 접했습니다. 이길 수 없다면 OpenJDK를 선택하세요. 한번 해보고 이야기로 이해해 보세요

(추천 영상: java 동영상 튜토리얼)

단일 Java 환경 변수를 구성하는 것 자체에는 기술적인 내용은 없지만 여러 개를 관리해야 하는 경우 Java 버전, 환경 변수를 반복적으로 구성하는 것은 분명히 매우 지루합니다. 전통적인 구성 방법에 따르면 Java 버전을 유연하게 전환할 수 없습니다

그럼 어떻게 하면 여러 버전의 Java를 쉽게 관리하고 사용할 수 있을까요?

다중 버전 Java 관리

분명히 우리가 이 딜레마를 겪은 최초의 것은 아닙니다. 제가 아는 기존 솔루션에는 세 가지가 있습니다.

● Jabba

● jenv

● sdkman

이 기사는 주로 다음과 같습니다. sdkman을 사용하여 우리가 직면한 딜레마를 해결하고 Java

sdkman을 유연하게 구성하고 사용할 수 있도록 돕는 방법을 설명합니다. 소개

SDKMAN은 대부분의 Unix에서 여러 소프트웨어를 관리하는 데 사용되는 소프트웨어 개발 도구 키트(Java, Groovy)입니다. 기반 시스템, Scala, Kotlin 및 Ceylon 등).

후보자 설치, 전환, 제거, 나열에 편리한 명령줄 인터페이스(CLI)와 API를 제공합니다. 이번 글에서는 주로 Java를 관리하여 sdkman을 사용하는 방법을 설명합니다.

sdkman 설치

Unix 계열 플랫폼에서는 sdkman을 설치하는 것이 매우 쉽습니다. Mac OSX, Linux, WLS, Cygwin, Solaris 및 FreeBSD에 성공적으로 설치할 수 있으며 Bash 및 ZSH 셸도 지원합니다.

새 터미널을 열고 다음을 입력하세요.

$ curl -s "https://get.sdkman.io" | bash

해당 지침 프롬프트를 따르고 해당 작업을 완료한 후 계속 입력하세요.

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

여기서 SDK의 설치 버전을 확인할 수 있습니다.

$ sdk version
sdk version

여러 Java 버전의 유연한 전환 및 관리

위 그림의 빨간색 상자 표시는 현재 sdkman 버전을 나타냅니다. sdk version 명령을 실행할 때마다 새 버전이 있는지 확인합니다. 업데이트하려면 y

일부 시스템 릴리스에는 zip이 포함되어 있지 않습니다. 관련 오류가 발생하면 다음 명령을 입력하여 zip을 설치하고 unzip

$ sudo apt-get install zip unzip

위 설치 명령에서 볼 수 있듯이 sdkman의 기본 설치 경로는 $HOME/.sdkman입니다. . SDKMAN_DIR 변수 값만 지정하면 됩니다.

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

sdkman 설치는 여기까지입니다. 사용 방법을 살펴보겠습니다.

sdkman 튜토리얼

새로운 내용을 알아보세요. 물론 명령줄에서 help를 확인하고 다음을 입력하세요.

$ sdkman help
sdk help[object Object]

위 그림에서 색상별로 내용을 구분하고 나면 sdkman 사용 지침이 끝났다고 생각합니다. 위 그림을 따라 사용법 튜토리얼을 설명하겠습니다. 자세히

sdk 목록

첫 번째 입력:

$ sdk list
sdk list[object Object]

녹색 표시는 sdkman에서 통합한 모든 사용 가능한 후보입니다. "입력" 버튼을 누르면 더 많은 사용 가능한 후보가 표시됩니다

후보를 지정하고 입력합니다. :

$ sdk list java
sdk list java[object Object]

위 사진에서 모든 Java를 볼 수 있습니다. 사용 가능한 버전, 식별자 및 상태는 Java 12 및 11을 설치했습니다.

이 정보를 기반으로 sdkman 내장 소프트웨어 개발 패키지를 설치할 수 있습니다. 계속해서 Java를 예로 사용하세요

sdk install

sdkman help 명령의 출력을 다시 보면 install 명령을 사용하여 또 다른 Java 최신 13.0.1.j9 버전

여러 Java 버전의 유연한 전환 및 관리

을 설치합니다. 위 사진을 보시면 초록색으로 표시된 내용이 list 명령어인데, 결과에 나오는 버전값인데 오류가 나오네요. 상태는 설치된 상태를 프로그래밍합니다

sdk current


여러 버전의 Java가 설치된 경우 다음 명령을 입력하여 현재 사용 중인 후보 버전을 가져옵니다

$ sdk current java
sdk current java

여러 Java 버전의 유연한 전환 및 관리

sdk use


현재 버전을 이해하세요. 다른 버전으로 전환하려면 다음을 입력하세요.

$ sdk use java 12.0.2.j9-adpt

참고⚠️: 지정된 식별자의 값도 동일합니다

여러 Java 버전의 유연한 전환 및 관리

sdk default

如果我们想指定某个版本为默认版本,可以输入:

$ sdk default java jdk1.8.0_162.jdk

注意⚠️: 这里同样是指定的 indentifier 的值

여러 Java 버전의 유연한 전환 및 관리

sdk uninstall

当我们想卸载某个版本可以输入:

$ sdk uninstall java 12.0.2.j9-adpt

注意⚠️: 这里同样是指定的 indentifier 的值

sdk upgrade

如果我们想升级某个 candidate,可以输入:

$ sdk upgrade java
sdk flush

使用 sdkman 时间变长也会慢慢产生很多缓存内容,我们可以输入

清理广播消息:

$ sdk flush broadcast

清理下载的 sdk 二进制文件(长时间使用后清理,可以节省出很多空间):

$ sdk flush archives

清理临时文件内容:

$ sdk flush temp

到这里 sdkman 的基本使用就已经介绍完了,其实这些命令都不用急,想不起来的时候执行 sdk help 来临时查看一下就好

sdkman 卸载

如果我们不喜欢 sdkman 了,我们也可以轻松的卸载掉它:

$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman

最后打开你的 .bashrc、.bash_profile 和/或者 .profile,找到并删除下面这几行。

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

我用的 zshrc,找到 .zshrc 文件删除掉上面内容即可

到这里基于 Unix 系统的,有关 sdkman 的安装,使用及下载都已经介绍完了,可以上手试一试了

本文来自php中文网,java教程栏目,欢迎学习!  

위 내용은 여러 Java 버전의 유연한 전환 및 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제