애플 실리콘(M1) 맥에서 자바 간단하게(?) 실행해보기

dev-mage·2022년 4월 22일
2
post-thumbnail
post-custom-banner

💡 애플 실리콘(M1) 맥에서 JDK를 설치하고 java 파일 생성 및 컴파일하여 실행하는 방법을 정리해본다.

M1 맥북 프로에 자바 세팅하는 김에 그 과정을 남겨보려고한다.

1. JDK 설치 (Oracle JDK / Open JDK)

  • JDK를 설치하기 전에...

    윈도우를 사용해봤던 사람이라면 맥에서 JDK를 설치하기 전에 한 가지 흥미로운 사실을 발견할 수 있다. 일반적으로 윈도우 명령 프롬프트에서 설치되지 않은 프로그램을 실행하려고 하면 다음과 같이 ‘내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.’라는 에러가 발생한다.

    맥에서도 똑같이 설치하지 않은 프로그램을 실행하려고 하면 윈도우와 비슷하게 명령어를 찾을 수 없다는 에러가 발생한다.

    하지만 JDK를 설치하기 전 맥에서 똑같은 명령어를 입력해보면 무언가 다른 내용이 나온다.

    아까는 차갑게 명령어를 찾을 수 없다고 했으면서 이번엔 친절하게 자바 설치와 관련된 정보를 알고 싶다면 한 번 방문해보라며 url까지 알려준다. 어떻게 이런 차이가 발생하는지 궁금해 구글에서 찾아보던 중 발견한 몇 몇 글들에 따르면 /usr/binjava라는 Unix 실행 파일이 있다. 이 실행 파일이 JDK가 설치되는 기본 경로인 /Library/Java/JavaVirtualMachines 내의 JDK를 훑고 없다면 위와 같은 문구를 출력하도록 설정되어 있는 것 같다.


JDK 다운로드

현재(2022.04) Oracle JDK, Open JDK 둘 다 애플 실리콘 버전을 지원하고 있으나 Oracle JDK의 경우 최신 버전인 17, 18 버전만 지원하고 있다. 보통 LTS(Long Term Support: 장기 지원 버전)인 8과 11을 제일 많이들 쓰는 거 같아서 8부터 최신 버전까지 지원하고 있는 Open JDK를 선택했다.(17도 LTS 버전이지만 아직은 잘 쓰이지 않는 듯)

사이트에 들어가 스크롤을 내리면 다운로드 가능한 JDK 버전들이 있다.

  1. Java Version은 사용할 버전 아무거나(나는 8을 선택했다.), OS는 macOS, Architecture는 ARM 64를 선택해준다.
  2. 압축파일로 받거나 설치해서 사용하려면 dmg 파일을 다운 받아준다. 나는 dmg 파일로 설치하지 않고 직접 설정해보기 위해 zip 파일로 받았다.

JDK 설정

zip 파일이든 tar.gz 파일이든 받아서 압축을 풀고 들어가보면 여러 파일과 폴더들이 있을 것이다. zulu-버전.jdk폴더를 제외하고는 다 가상본이니 무시하고 zulu-버전.jdk 폴더를 /Library/Java/JavaVirtualMachines 로 이동시킨다. 위에서 언급했다시피 맥에서 JDK를 인식하는 기본 경로이다.

여기까지 했다면 터미널을 켜서 java -version 으로 잘 설정됐는지 확인해본다.

2. java 파일 생성(feat. vim)

vim으로 java 파일 생성하기

JDK 설정이 끝났다면 간단하게 java 파일을 작성해본다.

  1. 터미널에서 vim HelloWorld.java 를 입력한다(경로는 어디든 상관없음. 난 그냥 데스크탑 폴더에 생성함).

  2. vim 에디터가 실행되면 i 를 누르고 입력모드로 들어간다.

  3. “Hello World!”를 출력하는 프로그램을 작성한다.

    public class HelloWorld {
    	public static void main(String[] args) {
    		System.out.println("Hello World!");
    	}
    }
  4. esc 를 누르고 일반모드로 돌아와서 :wq 로 저장하고 종료한다.

  5. cat HelloWorld.java 로 파일이 잘 생성되었는지 확인한다.

3. 컴파일 및 실행

java 파일이 생성되었다면 javac 로 컴파일 한 뒤 java 로 실행시킨다.


References

post-custom-banner

0개의 댓글