====== Jabba ====== * https://github.com/shyiko/jabba * **2020년 현재 업그레이드가 잘 안되고 있다.** * Cross Platform Java installler * Linux, MacOS X, Windows 모두 지원한다. * 최근에는 그냥 설치 + [[java:jenv|jenv]] 사용중 ===== 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\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile .ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170) 를 참조하십시오. 위치 줄:1 문자:3 + . 'C:\Users\\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 ===== * ''link'' 명령으로 임의로 설치한 JDK를 명명하고 사용할 수 있다. # oracle.com 에서 다운로드한 Oracle JDK jabba link system@11.0.4 /home//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 ===== * [[linux:direnv|direnv]]의 ''.envrc'' 에서 ''jabba'' 명령을 기본으로 사용할 수 없다. * 따라서 ''jabba''가 ''.bashrc''에 추가해준 jabba loading 명령을 먼저 실행해줘야 한다. * ''~/.direnvrc'' 공통 설정 # jabba 사용시에만 필요한 설정이므로 .envrc 에 직접 넣어줘도 됨. [ -s "/home//.jabba/jabba.sh" ] && source "/home//.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