-Djava.library.path
一。如何使用native方法?
java一般使用两个path:classpath 和 java.library.path
classpath是指向jar包的位置。也就是JDK的lib目录
java.library.path是非java类包的位置如(dll,so)
配制方法:
1:LINUX下的系统变量LD_LIBRARY_PATH来添加java.library.path
2:在vm arguments里添加-Djava.library.path=所在目录
3:在 一个工程的Java Build Path中配置,如下图
二。为什么要使用native方法?
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
默认没有配制native hadoop在跑MapReduce时会出现
13/12/18 10:57:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
13/12/18 10:57:59 WARN snappy.LoadSnappy: Snappy native library not loaded
如果选择自己编译Hadoop
提示:Execute failed: java.io.IOException: Cannot run program "autoreconf"
yum install autoconf automake libtool
配置native-hadoop library
1.配制Hadoop Library
2.在Hadoop Library里配置 native hadoop 目录
参考:
1.java出现no XXX in java.library.path的解决办法及eclipse配置
2.Java入门--认识理解Java中native方法(包含一个例子)