사용자 도구

사이트 도구


java:jenv

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java:jenv [2015/01/22 09:55]
kwon37xi 만듦
java:jenv [2023/03/13 15:40] (현재)
kwon37xi
줄 2: 줄 2:
   * http://www.jenv.be/   * http://www.jenv.be/
   * 디렉토리별로 별도의 Java 환경을 지정하고 변경할 수 있게 해줌.   * 디렉토리별로 별도의 Java 환경을 지정하고 변경할 수 있게 해줌.
 +  * [[java:jenv_windows|JEnv for Windows]]
 +===== Install on linux bash =====
 +<code sh>
 +git clone https://github.com/gcuisinier/jenv.git ~/.jenv
 +echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc
 +echo 'eval "$(jenv init -)"' >> ~/.bashrc
 +</code>
 +
 +===== Install on linux with brew =====
 +<code sh>
 +brew install jenv
 +
 +# activate jenv
 +echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc
 +echo 'eval "$(jenv init -)"' >> ~/.bashrc
 +</code>
 +
 +===== sdkman 과의 우선 순위 =====
 +  * [[:sdkman|sdkman]] 도 Java 버전 지정 기능이 있고, jenv 도 Java 버전 지정 기능이 있는 상태인데,
 +  * shell script 가 jenv 가 더 앞에서 활성화 될 경우 sdkman 의 Java 버전 지정이 우선하게 된다.
 +  * 따라서, 항상 sdkman 보다 jenv 의 shell 활성화(''eval "$(jenv init -)"'')가 더 늦게 이루어져야 한다. 
 +  * 2022 년 현재, jenv 가 local 디렉토리 단위의 환경 설정이 sdkman 보다 훨씬 정확하게 잘 작동하고, 세밀한 버전이 아닌 major 버전 기반 지정(Java 17 이면 가장 최근 Java 17이 자동 적용)이 작동해서 더 좋다.
 +===== JAVA_HOME 설정 =====
 +  * 기본적으로 ''jenv''로 Java 버전을 설정해도 ''JAVA_HOME'' 설정이 안먹는다.
 +  * ''export plugin'' 을 활성화하면 ''JAVA_HOME'' 설정도 함께 변경된다.
 +<code sh>
 +
 +jenv enable-plugin export
 +</code>
 +
 +===== JVM 추가 =====
 +<code sh>
 +jenv add /usr/lib/jvm/java-6-oracle/
 +jenv add /usr/lib/jvm/java-7-oracle/
 +jenv add /usr/lib/jvm/java-8-oracle/
 +</code>
 +
 +===== 사용 =====
 +<code sh>
 +jenv versions # 목록보기
 +jenv versions --bare # 딱 버전만 보여주고 부가 정보는 제외함. pipe 로 셸 스크립트등을 만들때 편함.
 +
 +jenv global 1.8 # 1.8 전역 사용 설정
 +jenv local 1.7 # 현재 디렉토리에서 1.7 사용
 +
 +# JVM 기본 옵션 지정
 +jenv global-options "-Xmx512m"
 +jenv local-options "-Xmx512m"
 +jenv shell-options "-Xmx512m"
 +
 +# remove - 실제 JDK를 삭제하는 것은 아니고 jenv 환경에서만 제거함.
 +jenv remove <버전번호>
 +</code>
 +
  
java/jenv.1421888105.txt.gz · 마지막으로 수정됨: 2015/01/22 09:55 저자 kwon37xi