사용자 도구

사이트 도구


java:jabba

Jabba

  • 2020년 현재 업그레이드가 잘 안되고 있다.
  • Cross Platform Java installler
  • Linux, MacOS X, Windows 모두 지원한다.
  • jenv, sdkman 등의 Java 설치 기능을 사용해보 았으나, jabba + direnv 조합이 제일 좋았다.

Install on Windows

  • Powershell 을 관리자 권한으로 열고서
Set-ExecutionPolicy Unrestricted
  • 이후 개인권한 Powershell 을 열고서
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-Expression (
  Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing
).Content
  • 만약 아래 오류가 발생한다면 Set-ExecutionPolicy Unrestricted 이를 안해준 것이다.
. : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\<user>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile
.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)
를 참조하십시오.
위치 줄:1 문자:3
+ . 'C:\Users\<user>\Documents\WindowsPowerShell\Microsoft.PowerShell_pr ...
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Uninstall

  • ~/.jabba (on Linux/Mac OS X) / %USERPROFILE%/.jabba (on Windows) 를 삭제한다.

Install Oracle JDK on Windows

jabba install 1.8
jabba install 1.10
 
# 1.7, 1.6 은 Oracle 홈페이지에서 다운받아서 따로 설치해서 
jabba link system@1.7 C:\Development\Java\jdk1.7.0_80\
jabba link system@1.6 C:\Development\Java\jdk1.6.0_45\

기본명령

  • jabba ls-remote : 설치 가능 버전 보기
  • jabba install adopt@1.8.0-232 : 설치
  • jabba install adopt@~1.8.0-172 : adopt의 1.8.0 대 가장 최신 설치, adopt@1.8.0-172 보다는 높고 adopt@1.9.0 보다는 낮은 버전 설치
  • link 명령으로 임의로 설치한 JDK를 명명하고 사용할 수 있다.
# oracle.com 에서 다운로드한 Oracle JDK
jabba link system@11.0.4 /home/<user>/java/jdk-11.0.4/
jabba use system@11.0.4
java -version
 
# 삭제
jabba unlink system@11.0.4

use

jabba use 1.8
jabba use system@1.7
 
# PowerShell은 관리자 권한으로 열어서
jabba alias default 1.8
jabba use default # 이제부터 1.8 버전을 기본 java 로 계속 사용하게 된다.

jabba & direnv

  • direnv.envrc 에서 jabba 명령을 기본으로 사용할 수 없다.
  • 따라서 jabba.bashrc에 추가해준 jabba loading 명령을 먼저 실행해줘야 한다.
  • ~/.direnvrc 공통 설정
    # jabba 사용시에만 필요한 설정이므로 .envrc 에 직접 넣어줘도 됨.
    [ -s "/home/<username>/.jabba/jabba.sh" ] && source "/home/<username>/.jabba/jabba.sh"
  • 각 프로젝트 디렉토리의 .envrc
    jabba use <원하는버전>

Windows 에서 Java 10 이 PATH 가장 앞에 오는 현상

  • Windows 에서 Java 10 이 PATH 가장 앞에 와서 JAVA_HOME을 무시하게 하는 현상이 발생할 수 있듬.
  • 환경변수에서 C:\Program Files (x86)\Common Files\Oracle\Java\javapath 삭제

PowerShell에서 기본 JDK 초기화

  • $profile 파일에 보면 jabba 초기화 script 가 있는데 그 아래에 아래를 넣어주면 기본 JDK가 설정된다.
    # 이미 default 버전 alias가 돼 있는 상태에서
    jabba use default
java/jabba.txt · 마지막으로 수정됨: 2021/04/13 11:29 저자 kwon37xi