intelliJ에서 https://start.spring.io/
에 다운받은 파일을 열어서 실행하려고 했으나,에러가 발생했다.
에러 문구
FAILURE: Build failed with an exception.
java.io.StreamCorruptedException: invalid type code: 00
보통이런 에러가 뜨는 이유는 여러가지가 있지만, 나는 실행부터 안되는 상태이기에, Gradle의 빌드하려는 JDK와 설치된 JDK 버전 불일치를 원인으로 잡았다.
Cause: error=86, Bad CPU type in executable
그래서 사실상 CPU구조와 맞는 JDK(AArch64)으로 설치하면 되지만, 그동안 이것 저것 해보냐고 설치된 JDK를 정리해야될 필요성을 느끼게 되었다.
흔히들 JDK가 설치되는 경로인 /Library/Java/JavaVirtualMachines
를 들어가 봤다.
/usr/libexec/java_home -V
이렇게 보니 3개 위치가 어딧는지 알게되었고, 해당 위치를 확인해보니 아래와 같이 있는 것을 확인하게 되었다.
/Users/이름/Library/Java/JavaVirtualMachines/
만약 homebrew로 설치했을시
$ brew remove openjdk@17
으로 삭제 가능이쯤되니까, 환경변수 설정도 잘못된것 같다는 것을 인지하게되었다.
cd ~
위치에 ls -a
로 파일의 유무 파악이 가능하다.)근데 왜 굳이 환경변수를 설정할 수 있는 파일이 3개나 되는 것일까?
.bash_profile은 로그인 통해 실행된 경우에 실행되는 스크립트(명령어들의 나열)
.bashrc는 로그인 없이 새로운 터미널을 열 경우마다 실행되는 스크립트.
사실 앞에 bash
에 주목해야되는데, bash shell를 사용하고 있다면, 이둘이 실행이 된다.($
)
여기서 로그인은 사용자가 비번을 입력해서 계정으로 들어온건지, guest로 들어온건지를 뜻합니당.
user@hostname:~$
.zshrc의 경우는 로그인이 되어있든, 되어있지않든 상관없이 실행되는 스크립트.
%
) user@hostname%
bashrc 파일을 만들고 파일안에 아래와 같이 환경변수를 넣어준다.
export JAVA_HOME=/Users/shinchangho/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk
export PATH=$JAVA_HOME/bin:$PATH
그리고 재실행 명령어
source ~/.bashrc
잘 봤습니다. 좋은 글 감사합니다.