STAF no JSTAF in java.library.path 的终极解决办法

最近两天在研究利用STAF 实现程序更新包的自动部署测试。运行Demo代码时遇到一个坑。
我的安装路径是默认的。C:\STAF\samples\demo
在命令行窗口用执行命令:java STAFDemoController程序正常启动。

STAF no JSTAF in java.library.path 的终极解决办法

启动后画面如图:

STAF no JSTAF in java.library.path 的终极解决办法

但是在Eclipse运行代码时总是报错:

STAF no JSTAF in java.library.path 的终极解决办法

网上搜索,大多都是转载以下解决方案:

1,在项目属性中进行设置,配置Native library location:

STAF no JSTAF in java.library.path 的终极解决办法

这个方案我亲试是不可行的。
会报错误JSTAF.dll: Can't find dependent libraries,依赖dll无法加载错误。。。。

2,JSTAF.dll文件拷贝

STAF no JSTAF in java.library.path 的终极解决办法

以上是可以解决,但是说的不太明确;
JSTAF.dll文件拷贝到的目标文件一定要是当前Eclipse运行环境的bin目录。
如我的Eclipse运行环境的bin目录:C:/Program Files (x86)/Java/jdk1.7/bin/../jre/bin;
拷贝后我在MyEclipse新建一个同样的项目同样的问题又出现了。
原来我的MyEclipse运行环境的bin目录是 C:/Users/zhangjinqiang/AppData/Local/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin
JSTAF.dll文件拷贝到的目标文件复制到以上目录下。
程序可以正常运行了。
机器上装多个JDK的一定要注意当前运行用的是那个JDK。

STAF官网
http://staf.sourceforge.net/

以上参照下列地址
http://hubenben.iteye.com/blog/1153998
http://m.blog.csdn.net/article/details?id=48345541

上一篇:【原创】大数据基础之Drill(2)Drill1.14+Hive2.1.1运行


下一篇:CF-补题1