我正在开发一个应用程序(Sigar),可以通过单击链接通过网络浏览器下载。该应用程序将监视机器信息,并且它需要一些库文件来执行此操作(例如 libsigar-x86-linux.so、libsigar-x86-freebsd-5.so)。
我的计划是先将原生文件放入一个 JAR 中,然后在使用 JWS 下载应用程序时,我会
- 解压 JAR 文件,包括本地库到一个文件夹
- 查找应用程序运行时确定的当前类路径。
- 最后设置java.library.path相对于classpath,这样就可以找到我的原生库了。
目前我正在尝试使用以下代码确定 JAR 的路径:
String path = MyClass.class.getProtectionDomain()
.getCodeSource().getLocation().getPath();
但我一定是做错了什么,因为返回的路径是 Web 服务路径,而不是本地环境中的路径。
谁能指出我目前的计划中有哪些错误?谢谢。