这似乎是一个非常简单的问题,我希望得到一个简单的答案。我已经读了很多关于这个问题的文章,但还没有找到解决方案。
下面是一个简单的程序:
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我尝试加载的库来自MySQL Cluster5.6的64位安装
任何想法都很受欢迎!
谢谢!
发布于 2014-02-15 04:23:01
您需要64位版本的Java才能与共享库的64位版本相匹配。
https://stackoverflow.com/questions/21788821
复制相似问题