2010-07-20 4 views
0

임 JNI 라이브러리를 사용하려고하지만 .so 파일이 우분투 컴퓨터에있는 위치를 찾을 수 없습니까?우분투에서 JNI 라이브러리 사용

필자가 이전 버전을 사용하고 있고 새로운 버전으로 바꾸고 싶다고 생각하기 때문에 필자가 찾아야하는 이유가 있습니다.

우분투 질문보다는 jni가 더 많습니다.

도움을 주시면 감사하겠습니다.

답변

1

답변은 찾고있는 라이브러리에 따라 다릅니다.

당신은 찾을 일부에서/lib에

에서

다른 사람은/usr/lib에

당신이 또한 가능성은/usr/로컬/lib에

과에서 .so는의의를 찾을 수 있습니다 설치 한 내용에 따라 시스템의 다른 곳에서는 (위의 Duck의 답변을 참조하십시오.)

패키지에서 설치 한 특정 라이브러리 (예 : sun-java6-bin 패키지가 설치 한 JNI .so)에는 dpkg를 사용하여 패키지 목록을 쿼리하고 파일이 원하는 위치를 찾으십시오.

 
dpkg -L sun-java6-bin | grep '\.so' 

이 패키지의 대부분은/usr/lib/jvm/java-6-sun- * 아래에 설치되어 있음을 나타냅니다.

당신이 설치된 패키지 목록을 검색 할 수 있습니다 자바 당신과 함께 설치된 패키지 확실하지 않은 경우 :이 도움이되기를 바랍니다

 
dpkg -l | grep java 

.

+0

thnx 많은 도움을주었습니다 ../usr/local/lib에서 찾았습니다 그러나 나는 그것이 locate 명령을 사용하고 있다는 것을 발견 했으므로 updatedb를 먼저 사용해야했습니다! – Pradeep

1

찾기/-name "mylib.so"2>는/dev/null로

파일 이름이 심볼릭 링크, 실제 lib 디렉토리에 링크를 따라 인 경우

.

+0

안녕하세요, thnx 답장을 보내 주시겠습니까?이 명령의 의미는 무엇입니까? – Pradeep

+0

find 명령의 기본 형식입니다. 기본적으로 루트 디렉토리에서 "mylib.so"라는 파일을 찾고 파일 시스템의 모든 디렉토리에서 해당 이름의 파일을 반복적으로 확인하십시오. 일반적으로 루트에서 시작하지는 않지만 파일이 어디에서 시작했는지 전혀 알지 못했기 때문에 모든 것을 검사합니다. 2>/dev/null은 stderr에 기록 된 오류 메시지를 시스템 비트 버킷 즉 아무데도 리디렉션합니다. 이렇게하면 "이 디렉토리를 볼 수있는 권한이 없습니다"라는 메시지가 흐려지는 것을 방지 할 수 있습니다.이 루트는 루트로 실행하지 않는 경우 표시됩니다. – Duck

+0

귀하의 환자 회신 오리에 대한 thnx! – Pradeep