Java web 运行时访问不了.dll库
来源:互联网 发布:淘宝上买psv破解版 编辑:程序博客网 时间:2024/06/11 18:48
情景: 在demo和API开发手册中,在java项目中直接将dll文件直接放入项目的根目录下,运行可以顺利访问。但在java web里却访问不了,报ava.lang.Unsatisfie.lang.UnsatisfiedLinkError no injava.library.path
总结一下网上的一些解决方法:
一、知识补充:
**一般来说,在 Windows 下,系统加载共享库时的优先级将按以下的顺序:
1,应用的当前运行目录;
2,由系统环境参数 Path 指定的目录;
3,System32 目录;
而在Linux下,系统加载共享库时的优先级将按以下顺序:
1,LD_LIBRARY_PATH指定的目录;
2,/lib/ 和 /lib64/ 目录;**
方法一:
在Windows下,把 dll 文件,放在应用的当前运行目录(一般为应用所在的目录),或在 Path 把 dll 所在目录加入此环境参数中,或者把dll复制到 System32 目录(不建议);
在Linux下,则把 .so 所在目录,通过 export 加入 LD_PIBRARY_PATH 中(在Terminal或在“ .bashrc”等启动时会加载的脚本中),或把 .so 文件复制到 lib 文件夹中(不建议);(另外,确保linux的glibc版本为2.11以上;可以执行命令 ldd libmsc32.so <如64位系统,则命令为 ldd libmsc64.so>,如果有执行结果有`GLIBC_2.11\’ not found,则需要把 glibc 版本升级到2.11版)
如果集成布署的是 Web 项目,记得重启 WebServer 才会生效。
另外,在 Linux 下 eclipse 调试时,可能通过Terminal 来 export LD_PIBRARY_PATH 并不起作用,此时,因为运行的调试环境不在 Terminal 中,需要在项目属性中,设置调试和运行的环境参数,在其中,增加 LD_PIBRARY_PATH ,并指定 so 文件所在的目录,如下图为指定 so 所在目录为当前运行的目录:
方法二:
为了让程序加载到库文件,将dll文件放入Tomcat的bin文件目录下,在程序运行的初始化方法中调用System.loadLibrary(“文件名”)
详情参考:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=13258&highlight=java
http://www.cnblogs.com/zfc2201/archive/2011/09/02/2163268.html
- Java web 运行时访问不了.dll库
- java web 访问静态资源时注意设置 其访问权限,不然就访问不了
- java web 项目改名后 页面访问不了
- 微信派运行tomcat页面访问不了
- java程序为何运行不了
- dynamic web project依赖的jar访问不到dll库
- Eclipse 中,web项目在Tomcat运行时填写不了Server name
- 局域网机器访问不了主机虚拟机Linux的Web工程
- HBase集群Master的Web页面访问不了
- 运行时 DLL 装载
- 运行时DLL注意!
- 运行时加载DLL
- java访问web service
- java Web访问数据库
- 运行Java web时遇到的错误
- Tomcat运行Java Web
- IIS6运行Java web
- VC运行库msvcp71.dll/msvcr71.dll
- DB2存储过程入门
- 类的静态成员
- Qt之模型/视图(自定义按钮)
- 寻找Jar或者查询maven依赖写法的网址
- 转载:一个清华学生留学香港后对人生的思考
- Java web 运行时访问不了.dll库
- 15电气李书鹏 作业2
- 使用编译好的mrpt库配置VS2013
- 窗口过程函数-----WindowProc和DefWindowProc函数
- 类的公有私有保护继承
- EditText和ScrollView滑动冲突解决方案
- 简化版桶排序
- 韩顺平PHP学习笔记
- Windows Direct3D Intro - Multiple Viewport Render