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

启动后画面如图:

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

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

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

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

  1. JSTAF.dll 文件拷贝


以上是可以解决,但是说的不太明确;
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
重载发贴目的希望 Testerhome 的朋友遇到类似问题少走弯路,有在研究这个的朋友也可以交流交流
感谢 Testerhome@ 北京 - 海生朋友给予帮助


↙↙↙阅读原文可查看相关链接,并与作者交流