这似乎是一个非常简单的问题,我希望得到一个简单的答案。我读过很多有关此问题的帖子,但尚未找到解决方案。
这是一个简单的程序:
package org.foo.test.LoadLibTest;
public class Main
{
public static void main(String[] args) throws java.io.IOException
{
System.loadLibrary("ndbclient");
}
}
这会产生以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ndbclient in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1764)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1044)
at org.paiego.test.LoadLibTest.Main.main(Main.java:9)
我使用以下参数修改了 java.library.path。并且该路径确实有效并且包含该库。
-Djava.library.path=/Users/foo/projects/hl/jpa_test/my-app/lib/
lib目录包含:
libndbclient.so
我使用的是 64 位操作系统:
Darwin paiego.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64
还有 32 位版本的 Eclipse:
-arch
x86
我尝试加载的库来自 64 位安装的 MySQL Cluster 5.6
任何想法都值得赞赏!
谢谢!
最佳答案
您需要 64 位版本的 Java 来匹配共享库的 64 位版本。
关于java - eclipse/java -- java.lang.UnsatisfiedLinkError : no ndbclient in java. 库.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21788821/