我希望基於使用JNI的C++庫進行java實現。不幸的是,當我想在java中使用共享庫時,無法找到它。這個共享庫的問題在於它鏈接了另一個共享庫。我有兩個不同的情況下工作(但不應該使用),另一個不。發佈在Java中加載共享庫
Ana lib必須始終是靜態的。 Clara lib必須始終共享。它在Bob lib是靜態的時候工作,但它應該被共享,它應該包括Ana和Clara。
案例1(Works和可以加載正確的java.library.path)。
sharedlibJava.so鏈接:staticlibAna.a staticlibBob.a sharedlibClara.so
案例2(不起作用,因爲它不能被加載,即使的java.library.path是正確的)。 sharedlibBob.so鏈接:staticlibAna.a和sharedlibClara.so(基本的C++實現的測試,它的工作原理沒有問題)
sharedlibJava.so鏈接:sharedlibBob.so(Java實現應該使用這個新的共享庫可用)。
問題是,當我嘗試加載庫時,即使它位於那裏,它甚至無法在正確的java.library.path中找到它。
我真的很感激任何關於這個問題的反饋。