Java - 使用JACOB时应该注意的

王朝学院·作者佚名  2009-11-20  
宽屏版  字体: |||超大  

原创声明:

本文章为原创,欢迎转载,但请给出本文链接,多谢合作。

本文链接:http://blog.csdn.net/epinszteinic/archive/2009/11/19/4832921.aspx

JACOB 有很多用途,我暂时是用它来读取Windows Event Log。

它有一个jar和一个dll,我想说的是,这两个文件的存放位置。

jar很简单,跟普通的java程序一样,导入即可。

它的jar会调用这个dll,那么这个dll应该放在哪里?

需要了解的是,在启动程序的时候,dll的加载路径是存在一个叫「java.library.path」这样的JVM变量,

(想知道java.library.path的默认值是什么,

System.out.println(System.getProperty("java.library.path"))

就能获得)

可以发现,这个变量里含有c:\windows\system32,所以,一般来说,这个dll放到c:\windows\system32下就可以了,这显然不好。

我们可以通过修改这个变量的值,来达到修改dll加载路径的目的。

-Djava.library.path=...

两种设置该变量的情况:

(1)在eclipse里,这个JVM启动参数应该加在哪里:

比如我的项目目录结构是:

pzc-commons

├─ src

├─ bin

├─ lib

...

dll放在lib下,那么,JVM的启动参数应该追加下面这一行:

-Djava.library.path=${workspace_loc:pzc-commons}\lib

(2)项目打包完成后,应该如何启动:

比如打包完成的结构:

pzc-commons

├─ lib

...

run.bat

dll放在lib下,那么,JVM的启动参数应该追加下面这一行(run.bat在lib外):

-Djava.library.path=.\lib

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有