command not found: native-image

command not found: native-image

GraalVM의 여러 기능 중에서 가장 관심을 받은 것은 Native Image 컴파일 기능입니다. GraalVM이 제공하는 Native Image는 javac로 컴파일된 클래스 파일 혹은 JAR 파일을 실행 파일로 만드는 Native Image Generator입니다. GraalVM의 native-image이 바로 Native Image Generator입니다.

Oracle GraalVM에는 향후 버전을 위한 실험 기능이 포함되어 있다. 2019년 11월 현재 Native Image는 실험적인 기능인 Early Adopter technology로 분류되어 있습니다. 이러한 이유로 native-image 실행 파일은 GraalVM CE와 GraalVM EE의 기본 배포본에는 포함도 있지 않습니다.

native-image 설치

GraalVM CE(Community Edition)과 GraalVM EE(Edterprise Edition)가 native-image를 설치하는 방법은 각각 다릅니다. GraalVM CE는 gu(graalvm updater)가 제공하는 기본 코드를 사용하여 설치하고, GraalVM EE는 oracle.com에서 제공하는 별도 코드를 다운로드하여 설치합니다.

GraalVM CE의 native-image 설치

GraalVM native-image 실행 파일을 설치하기 위해서 GraalVM Component Updater인 gu 명령을 사용합니다. gu 명령은 graalvm 컴포넌트를 설치하고 관리하는 툴입니다. native-image는 gu를 통해서 설치할 수 있습니다.

$ gu install native-image
Downloading: Component catalog from www.graalvm.org
Processing Component: Native Image
Downloading: Component native-image: Native Image  from github.com
Installing new component: Native Image (org.graalvm.native-image, version 19.3.0)
$

gu 명령으로 설치된 native-image는 다음과 같이 확인할 수 있습니다.

GraalVM EE의 native-image 설치

GraalVM EE을 위한 native-image 파일을 다운로드 합니다.

위 파일을 내려받고 다음 명령을 이용하여 GraalVM EE용 native-image를 설치합니다.

gu install -L [jar 파일 경로]

위 이미지는 jar 파일을 이용하여 native-image를 설치하는 과정을 설명합니다.

native-image 사용 예제

설치된 native-image로 다음과 같이 자바 코드를 컴파일하여 실행 파일을 만들 수 있습니다.

위 이미지는 native-image를 만드는 과정입니다. 각 절차를 다음과 같이 정리할 수 있습니다.

  • (1): NativeDemo.java 소스코드
  • (2): NativeDemo.java 컴파일
  • (3): NativeDemo.class 파일 네이티브 파일 컴파일
  • (4): nativedemo 파일 실행

Reference

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com

이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.