MungingData
jenv 은 쉽게 실행하는 여러 버전의 자바 Mac 컴퓨터입니다. 또한 프로젝트를 전환 할 때 Java 버전간에 원활하게 전환하기가 쉽습니다.
여러 Java 버전을 실행하는 것은 Android 및 Apache Spark 개발자에게 중요합니다. Spark 개발자는 Spark2 프로젝트의 경우 Java8 을 사용하고 예를 들어 Spark3 프로젝트의 경우 Java11 을 사용해야합니다.
이 블로그 게시물은 컴퓨터에서 jenv 설정을 얻는 방법과 중요한 명령을 사용하는 방법을 보여줍니다.
jenv 설치
brew install jenv
로 jenv 를 설치하십시오. 이것은 자작 명령입니다.
jenv 는 shim 디자인 패턴을 사용하여 명령을 적절한 Java 버전으로 라우팅합니다. 이러한 명령을 실행하는 업데이트PATH
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrc
다시 시작 당신의 터미널을 실행echo $PATH
.jenv
/Users/powers/.jenv/shims:/Users/powers/.jenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
의 출력입니다.
Java8 설치
Java8 을 설치하는 최신 명령은 다음과 같습니다.brew cask install adoptopenjdk/openjdk/adoptopenjdk8
.
brew cask install adoptopenjdk8
Error: Cask 'adoptopenjdk8' is unavailable: No Cask with this name exists.
brew cask install caskroom/versions/adoptopenjdk8
Error: caskroom/versions was moved. Tap homebrew/cask-versions instead.
한 번 Java 다운로드,우리는 우리를 수동으로 추가할 필요하 jenv. Java 가상 머신을ls -1 /Library/Java/JavaVirtualMachines
로 나열합니다.자바 8 을 jenv 에
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
로 추가합니다.
jenv global openjdk64-1.8.0.265
로 컴퓨터의 글로벌 Java 버전을 설정하십시오. 컴퓨터의 정확한 명령은jenv global openjdk64-1.8.0.272
jenv versions
가있는 버전의 정확한 이름을 찾으십시오.
javac -version
java -version
명령이 작동하는지 확인하십시오.
글로벌 Java 버전 설정
Mac 에는 Java 가 사전 설치되어 있습니다. 시스템에 설치된 프로그래밍 언어 버전을 사용하지 않는 것이 항상 좋습니다(파이썬과 루비에도 적용됩니다). jenv 는 시스템 Java 사용을 피하기가 쉽습니다.
jenv global openjdk64-1.8.0.265
로 글로벌 Java 버전을 Java8 로 설정합니다.
이 명령은 단순히/Users/powers/.jenv/version
cat /Users/powers/.jenv/version
시 그것은 단지 파일이 하나의 선
openjdk64-1.8.0.272
모든 Java 명령을 전송됩니다 Java8 이제는 글로벌 버전을 설정합니다. 이것은 우리가 시스템 자바 버전을 치는 것을 피할 수 있도록 할 것입니다.
SET JAVA_HOME
많은 Java 라이브러리는JAVA_HOME
환경 변수 세트를 갖는 것에 의존합니다. 환경 변수 설정을 실행하여 이러한 명령:
jenv enable-plugin exportexec $SHELL -l
실행>echo $JAVA_HOME
/Users/powers/.jenv/versions/openjdk64-1.8.0.272
JAVA_HOME
환경을 찾고있는 라이브러리는 오류가 발생하지 않습니다.
jenv doctor
를 실행하여 설정이 양호한 지 확인하십시오. 출력을 얻어야 합니다 다음과 같다:
JAVA_HOME variable probably set by jenv PROMPT Java binaries in path are jenv shims Jenv is correctly loaded
설치 Java11
여기 명령어를 설치하 Java11:brew cask install adoptopenjdk/openjdk/adoptopenjdk11
.Java 버전을 jenv 에 수동으로 추가해야한다는 것을 기억하십시오. Java 가상 머신을ls -1 /Library/Java/JavaVirtualMachines
로 나열합니다.자바 11 을 jenv 에
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/
로 추가합니다.
jenv versions
명령이 지금 이 출력:
system 1.8 1.8.0.272 11 11.0 11.0.9* openjdk64-1.8.0.272 (set by /Users/powers/.jenv/version) openjdk64-11.0.9
설정 Maven
which mvn
/usr/local/bin/mvn
는 시스템의 버전을 받는다는 것입니다. Java 와 마찬가지로 시스템 Maven 을 사용하여 명령을 실행하고 싶지는 않습니다. Jenv 를 사용하여 Maven 의 다른 버전을 얻자.
사용 jenv Maven pluginjenv enable-plugin maven
which mvn
mvn
명령은 제대로에 의해 캡처 jenv shim. which mvn
/Users/powers/.jenv/shims/mvn
와 같은 것을 반환해야합니다.
프로젝트를 복제하고 테스트 스위트를 실행하여 Maven 설치가 제대로 작동하는지 확인할 수 있습니다. JavaSpark 프로젝트를git clone [email protected]:MrPowers/JavaSpark.git
명령으로 복제하십시오.
cd
mvn test
.
mvn -v
를 입력하여 사용중인 Maven 버전을 볼 수 있습니다. 내 기계는 Java8 과 함께 Maven3.6.3 을 사용하고 있습니다.
deeque repo 를 복제하고mvn test
도 해당 repo 에서 작동하는지 확인할 수도 있습니다.
설정 Java 버전 지역 프로젝트에 대해
사용하는jenv local openjdk64-11.0.9
명령을 설정하는 주어진 프로젝트를 사용하 Java11 기본적으로 합니다.
이렇게하면 루트 프로젝트 폴더에.java-version
파일이 추가됩니다. 다음은 예입니다.
복제할 수 있습니다 delta-예 repogit clone [email protected]:MrPowers/delta-examples.git
,cd 디렉토리로,그리고 실행하는jenv versions
는지 확인하려면 프로젝트가 자동으로 Java 를 사용하여 11.
여기에는jenv versions
출력에서 델타-예제 프로젝트의 루트 디렉토리:
system 1.8 1.8.0.272 11 11.0 11.0.9 openjdk64-1.8.0.272* openjdk64-11.0.9 (set by /Users/powers/Documents/code/my_apps/delta-examples/.java-version)
jenv 의 능력을 자동으로 전환 Java 버전을 다른 프로젝트에 대해 매우 편리합니다. 프로젝트를 변경할 때 Java 버전을 수동으로 설정하는 것에 대해 생각할 필요가 없습니다.
기타 방법으로 전환하는 자바 버전
AdoptOpenJDK 프로젝트 제공하는 방법에 대한 지침을 수동으로 전환 Java 버전 경우에 당신을 사용하고 싶지 않 jenv. 여기에 함수들은 제공합니다:
jdk() { version=$1 export JAVA_HOME=$(/usr/libexec/java_home -v"$version"); java -version }
수동으로 전환이 가능하지만,사람들고 싶어 정신 에너지를 낭비에 대해 생각 Java 버전마다 그들은 전환 프로젝트가 있습니까?
다음 단계
jenv 는 단일 버전 만 사용해야하는 경우에도 Mac 에서 Java 를 관리하는 데 도움이됩니다.주어진 시스템에서 다른 Java 버전을 관리하는 것은 jenv 가 따라 오기 전에 큰 고통이었습니다. 이제 몇 가지 명령 만 실행해야하며 모든 Java 버전을 실행하도록 컴퓨터를 구성 할 수 있습니다. jenv 는 실수로 시스템이 설치된 Java 패키지를 사용하지 않도록 쉽게 만듭니다.
jenv 는 sbt,Scala,Groovy 등을위한 플러그인을 내장하고 있습니다. 워크 플로와 관련된 플러그인을 활성화해야합니다.
Leave a Reply