I am curious as to the general solution for when a UnsatisfiedLinkError is thrown.
一般解决方案
1)阅读异常消息.
2)找出缺少哪些本机库或本机方法
3)提供所需的库和/或配置JVM以便它可以找到它.
除此之外,细节是特定于案例和/或平台的.一些可能性包括:
>您要么缺少本机库(例如“.so”,“.dll”).
> JVM找不到本机库,因为它不在JVM正在寻找的地方.
>本地库不是正确的版本;例如它没有实现特定的本机方法,
>本机库是64位,您需要32位,反之亦然. (即使在64位平台上,32位JVM也需要32位库.)
What does it mean?
“Thrown if the Java Virtual Machine cannot find an appropriate native-language definition of a method declared native.”
这就是我们可以肯定地说的……在一般情况下,这就是你所要求的.
What is it not finding?
往上看.
The .java file?
不.
Did I miss linking to it somewhere?
可能,不,不.这取决于“链接到它”的含义.
The one I am getting is thrown during the initialization process.
这是典型的. JVM需要在类链接期间绑定本机方法…这通常在应用程序启动期间发生.
And is this usually a problem in the code or a problem in the project settings?
它可能是.或者是其他东西.它还取决于您绘制“代码”边界的位置.你是否包括第三方依赖?
如果本机方法声明不是代码的一部分,那么>>你<