자바 네이티브 인터페이스 (Java Native Interface, JNI)는 자바 가상 머신 (JVM)위에서 실행되고 있는 자바코드가 네이티브 응용 프로그램(하드웨어와 운영 체제 플랫폼에 종속된 프로그램들) 그리고 C, C++ 그리고 어샘블리 같은 다른 언어들로 작성된 라이브러리들을 호출하거나 반대로 호출되는 것을 가능하게 하는 프로그래밍 프레임워크이다.
[JNI] IntelliJ IDEA에서 jni 헤더파일 (header file) 명령어인 javah 세팅 설정
File > Settings 선택 ( 단축키 Ctrl + Alt + S )
Tools > External Tools 선택 후 + 버튼 클릭 하여 Create Tool 창 팝업 확인
Edit Tool 창에서 각 항목 내용 입력
•Name: javah
•Group: Java
•Description: Java Native Interface C Header and Stub File Generator
•Program: $JDKPath$\bin\javah.exe
•Arguments: -jni -v -d $FileDir$ $FileClass$
•Working directory: $SourcepathEntry$
External tool에서 Program 선택에서 Javah 파일의 위치를 지정해서 선택하면 된다.
Tools > External Tools 하위에 Group에서 입력한 JAVA 항목 하위에 Name으로 입력한 javah 명령어를 확아할 수 있다.
추가한 Javah 파일 실행 방법 2가지
Javah 실행 방법 1
Tools 에서 실행하는 방법
JNI를 만들 원하는 자바 파일을 선택한후 이하 명령어 실행
Tools > JAVA(External Tool에서 Group 명으로 입력한 이름 다른 그룹명으로 입력한 경우 해당 그룹명으로 확인 가능) > javah 실행
Javah 실행 방법 2
마우스 오른쪽 버튼 클릭해서 숏컷 팝업을 이용하는 방법
jni 파일을 만들 java 파일 선택 후 오른쪽 팝업 실행한다.
Tools > External Tools하위에 등록한 Group 명으로 보이는 항목이 보이고 name으로 추가한 javah 명령어가 보인다.
IntelliJ IDEA로 JNI Header 파일을 생성했으니 이제 C/C++ 파일을 만들어 보자
'SW Developer' 카테고리의 다른 글
[IntelliJ] IDEA Exception in thread "main" java.lang.NoClassDefFoundError 해결방법 (0) | 2021.01.14 |
---|---|
[서버운영] Ubuntu Redmine 서버 시간 보정 방법 rdate (0) | 2020.08.26 |
[JNI] javah Error : Could not find class file for 해결방법 (0) | 2020.08.10 |
elasticsearch 죽는현상 분석 error (code=exited, status=127) (0) | 2020.07.28 |
우분투 Ubuntu 서버 SSMTP로 다우오피스 메일 보내기 방법 및 디버깅 (0) | 2020.07.03 |
댓글