日期:2014-05-18  浏览次数:20691 次

web项目中dll文件问题
在web开发中遇到了用jni调用c++编译的dll   文件,现在有个问题是当把该dll文件放到tomcat目录下的bin文件夹下,或是jdk/bin文件夹下,程序才能正确访问,否则就会找不到该文件。
请问大家有没有好的方法,能把dll文件放到本地项目中就可以访问呢?比如说放到项目下的WEB-INF文件夹下,或是其它地方。

------解决方案--------------------
放在WEB-INF/lib或者WEB-INF/classes 下不知道行不行的?
也可以试下设置环境变量PATH= <路径> / <dll文件名字> .dll;

如果不行的话,就当是帮你顶了~~~呵
------解决方案--------------------
public class SystemLoader implements ServletContextListener {
private static String rootPath;

public void contextInitialized(ServletContextEvent sc) {
rootPath=sc.getServletContext().getRealPath( "/ ");
}
}

然后在web.xml中写
<listener>
<listener-class> com.lance.vs.web.controller.SystemLoader </listener-class>
</listener>

这样就取得了根目录的绝对路径
然后你用rootPath+ "WEB-INF\\xxx.dll
就可以读取你的dll文件了
------解决方案--------------------
看错,不是bin文件夹,是lib,
这样的话,就是环境变量的问题了,你把这个DLL文件放在WINDOWS下的SYSTEM32下也一定行的,
meteorlg(lance) 的方法就是找WEB-INF目录,定位了WEB-INF了,就可以找到你的DLL文件的位置,这样应该就能调用了
------解决方案--------------------
路过,帮顶!