[ERROR] java.lang.UnsatisfiedLinkError: no xxx in java.library.path 원인

자바에서 no in java.library.path는 자바 코드를 실행하기 위해 컴퓨터에 있어야 할 라이브러리를 찾지 못했다는 에러입니다. 여기서 라이브러리란 주로 리눅스는 .so 파일, 윈도우는 .dll 파일을 의미합니다.

 

자바가 사용할 라이브러리 경로를 잡아주면 대부분 문제는 해결됩니다. java.library.path를 지정하는 방법은 자바를 실행할 때 경로를 지정해주거나, 시스템의 환경변수에 넣는 것입니다.

java.library.path

명령행 옵션 사용

-D 옵션을 사용합니다.

java -Djava.library.path=/path/to/libs 실행클래스명

 

환경변수 사용

환경변수는 윈도우와 리눅스에서 다르게 작동합니다. 윈도우의 경우 별도로 라이브러리 환경변수를 잡지 않아도 알아서 잘 찾습니다.

리눅스에선 LD_LIBRARY_PATH라는 환경변수를 사용합니다. 아래는 자바를 실행하면서 환경변수를 export하는 방법입니다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libs
java 실행클래스명

 

또는 리눅스의 로그인쉘에 환경변수를 지정할 수도 있습니다. .bash_profile에 환경변수를 등록합니다.

vi .bash_profile

 

#아래의 내용 추가
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libs

 

변경사항을 적용합니다.

.source .bash_profile
반응형

댓글

Designed by JB FACTORY