`

JNA 编译-Djava.library.path

    博客分类:
  • JVM
JNA 
阅读更多

转自:

http://yeelor.iteye.com/blog/1991075

 

一。如何使用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 Libraries

默认没有配制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 目录

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics