java.library.path는 자바 애플리케이션이 라이브러리를 참조할 때 사용하는 경로이다.
경로가 제대로 설정되어 있지 않을 경우
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hellojni in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)
at HelloJNI.<clinit>(HelloJNI.java:6)
이와 같은 에러 메시지를 받게 된다.
따라서 프로그램이 올바르게 동작하기 위해서는 자바 라이브러리 경로를 설정해야 한다.
자바 라이브러리 경로를 설정하는 방법은 아래의 두가지 방법이 있다.
1. LD_LIBRARY_PATH에 해당 라이브러리 경로를 추가한다.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib32
(export를 빠뜨리지 말자!)
2. 자바 프로그램을 실행할 때 -D 옵션으로 지정한다.
java -Djava.library.path=/home/taehyo/jni_test HelloJNI
다행히도 이 문제를 해결하는데는 그리 오래 걸리지 않았다...
경로가 제대로 설정되어 있지 않을 경우
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hellojni in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)
at HelloJNI.<clinit>(HelloJNI.java:6)
이와 같은 에러 메시지를 받게 된다.
따라서 프로그램이 올바르게 동작하기 위해서는 자바 라이브러리 경로를 설정해야 한다.
자바 라이브러리 경로를 설정하는 방법은 아래의 두가지 방법이 있다.
1. LD_LIBRARY_PATH에 해당 라이브러리 경로를 추가한다.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib32
(export를 빠뜨리지 말자!)
2. 자바 프로그램을 실행할 때 -D 옵션으로 지정한다.
java -Djava.library.path=/home/taehyo/jni_test HelloJNI
다행히도 이 문제를 해결하는데는 그리 오래 걸리지 않았다...
덧글
많은 도움이 되었습니다. 고맙습니다.^^
자바에서는 위와 같은 오류가 뜹니다.
개발 환경은 라즈비안입니다.
도와주세여 ㅜㅅㅜ