您的位置:首页 > 编程语言 > Java开发

解决 RNI接口调用出现的异常UnsatisfiedLinkError: no jtokyocabinet in java.library.path 及 wrong ELF class: ELFCLASS64问题

2010-04-22 09:53 956 查看
使用RNI接口调用C程序,经常会报 以下两种异常:

UnsatisfiedLinkError: no jtokyocabinet in java.library.path



wrong ELF class: ELFCLASS64

UnsatisfiedLinkError: no jtokyocabinet in java.library.path 的解决方案

解决方案如下:

在应用容器的启动脚本中,将C程序所需类库.SO文件所在路径配置到 CLASSPATH ,LD_LIBRARY 及 java.library.path中,如下所述:

CLASSPATH="/usr/java/jdk/jre/lib/rt.jar:/usr/java/jdk/lib/tools.jar:/usr/local/lib/"
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
export CLASSPATH LD_LIBRARY_PATH

JAVA_OPTS="-server"
JAVA_OPTS="$JAVA_OPTS -Xms64m -Xmx128m"
JAVA_OPTS="$JAVA_OPTS -D64 -Djava.library.path=/usr/local/lib/"

如果还是不行,就手动将上面的命令在SHELL中执行一遍。

wrong ELF class: ELFCLASS64的解决方案

原因是jVM是32位的版本,要装64位版本才行
32位java -version出来的结果如下:
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)
而64位如下:
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01, mixed mode)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐