解决 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
在应用容器的启动脚本中,将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中执行一遍。
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)
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)
相关文章推荐
- java JNI调用C语言动态链接库(java.lang.UnsatisfiedLinkError: no yourClassName in java.library.path 异常的解决方法)
- java出现no XXX in java.library.path的解决办法及eclipse配置
- java出现no XXX in java.library.path的解决办法
- Idea 使用SBT创建Scala项目中 No 'scala-library*.jar' in Scala compiler classpath的问题解决
- 解决Eclipse启动不了的问题no nio in java.library.path
- java出现no XXX in java.library.path的解决办法及eclipse配置
- java出现no XXX in java.library.path的解决办法 JT harness
- 问题解决:no JMagick in java.library.path
- java出现no XXX in java.library.path的解决办法及eclipse配置
- java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x64 in java.library.path问题的解决方法
- 转载:java出现no XXX in java.library.path的解决办法及eclipse配置
- java出现no XXX in java.library.path的解决办法及eclipse配置
- 配置Eclipse来解决 no xxx in java.library.path问题
- java-Exception:关于 no *** in java.library.path 异常的解决办法
- 解决no swt-win32-3236 in java.library.path的方法大致有这么两种:
- 在访问RESTful接口时出现:Could not write content: No serializer found for class的问题解决小技巧收集
- There is no getter for property named 'id' in 'class java.lang.Integer'问题解决办法
- 如何解决 no jzmq in java.library.path
- Java 调用 FFMPEG 命令时用 url 作为输入源,Linux 下出现 “no such file or directory” 问题的解决