在基于tomcat的web project中加载dll文件的方法(来源于实际项目经验)
2011-09-02 07:28
525 查看
如果是java project ,只要把dll放在src中,设置一下run配置即可,但是在web project中(据有关数据,60%的人用的是tomcat),这样做完全不能加载dll。
办法总是有的,关键是如何让System.loadLibrary("testDll");找到正确的路径。下面是我总结的方法(试了很多方法,都不行,只有这种方法100%行)。
这个方法就是:
打开你的tomcat所在目录下的bin目录,我的是C:\apache-tomcat-7.0.6\bin,把dll文件拷贝到里面
这样你在web project中运行System.loadLibrary("testDll");就再也不会报UnsatisfiedLinkError了
不过,实际布署到服务器时,还是报异常了,我相当的郁闷,后来才发现,原来那个server除了tomcat之外,还有一些其他的程序,也就是tomcat被包了一层,虽然server启动时,tomcat也会启动,但是tomcat不是主程序。
于是,我把dll文件放到server的startup.bat的同级目录下,结果加载dll成功。
基于此实践,我总结成一句话:
找到主程序运行的目录(多数为bin,除了可能被包装的),把dll文件copy进去。100%运行System.loadLibrary("testDll");就能成功。
办法总是有的,关键是如何让System.loadLibrary("testDll");找到正确的路径。下面是我总结的方法(试了很多方法,都不行,只有这种方法100%行)。
这个方法就是:
打开你的tomcat所在目录下的bin目录,我的是C:\apache-tomcat-7.0.6\bin,把dll文件拷贝到里面
这样你在web project中运行System.loadLibrary("testDll");就再也不会报UnsatisfiedLinkError了
不过,实际布署到服务器时,还是报异常了,我相当的郁闷,后来才发现,原来那个server除了tomcat之外,还有一些其他的程序,也就是tomcat被包了一层,虽然server启动时,tomcat也会启动,但是tomcat不是主程序。
于是,我把dll文件放到server的startup.bat的同级目录下,结果加载dll成功。
基于此实践,我总结成一句话:
找到主程序运行的目录(多数为bin,除了可能被包装的),把dll文件copy进去。100%运行System.loadLibrary("testDll");就能成功。
相关文章推荐
- 在基于tomcat的web project中加载dll文件的方法(来源于实际项目经验)
- 单独启动tomcat和从eclipse中启动tomcat的差异,以及将Eclipse中的Web项目部署到Tomcat的方法
- Tomcat部署web项目的3种方法
- tomcat部署web项目的3中方法
- web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
- 项目部署到tomcat Root中后导致 WebApplicationContext 初始化两次的解决方法
- 基于Web系统的测试方法(常见测试案例)-经验
- 基于webpack4搭建的react项目框架的方法
- VS 2005 Web Application Project 项目中Profile的使用方法(更新)
- 基于Maven的web项目在Eclipse中使用Tomcat调试
- 解决MyEclipse 的Web项目移植到Eclipse中无法添加到Tomcat的方法
- 【SpringMVC】基于Maven的SpringMVC项目,web.xml中所有的class都加载不上
- eclipse部署web项目在本地tomcat下的webappps里找不到解决方法
- MyEclipse下复制web项目或更改项目名称后重新部署到Tomcat后找不到项目页面解放方法
- 基于Tomcat 的WEB Project存在的安全漏洞总结
- tomcat部署web项目的3中方法.txt
- 基于创建Web项目运行时出错的解决方法(必看篇)
- tomcat部署web项目的3中方法
- [转]ajax项目提示我缺少Microsoft.Web.Preview.dl和未能加载AjaxControlToolkit程序集解决方法
- Web项目中加载Spring配置的常用方法