-Djava.library.path

本文深入解析了在Java程序中dll与jar文件的加载逻辑,介绍了如何通过修改「java.library.path」环境变量来调整dll的加载路径,包括在Eclipse开发环境和项目打包启动时的配置方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

它的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.youkuaiyun.com/epinszteinic/archive/2009/11/19/4832921.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值