它的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
转自: http://blog.csdn.net/epinszteinic/archive/2009/11/19/4832921.aspx