首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java面试 >

怎么把java类和JNI调用的DLL打包成jar

2012-01-23 
如何把java类和JNI调用的DLL打包成jar?我的java类是Search.java,包名为mysearch,其中通过JNI调用了一个DLL

如何把java类和JNI调用的DLL打包成jar?
我的java类是Search.java   ,包名为mysearch   ,其中通过JNI调用了一个DLL,类和DLL文件都放在pack文件夹下。
编译后的目录结构为e:/pack/mysearch/Search.class

在pack文件夹下面建立一个MANIFEST.MF文件
        内容如下:      
        Main-Class:       mysearch.Search   然后回车

        在e:\pack下运行
        jar   cvfm   search.jar   MANIFEST.MF   pack

        然后在e:\pack下运行
        java   -jar   search.jar
可以执行,将search.jar拷到其它目录下运行时,说找不到DLL文件,可是我打包的时候已经将DLL打在包里了啊,请高手赐教。

[解决办法]
mark
[解决办法]
把dll文件放到e:\pack目录下,再把e:\pack加到classpth里就可以了
[解决办法]
晕,dll怎么可以打到jar包中?

[解决办法]
dll可包不进去

[解决办法]
沒碰過此類問題,幫樓主頂上去,順便學習
[解决办法]
不能把DLL打到包中吧。
打到包里容器或jdk就找不到它了。
[解决办法]
不是不行,是你没做好,我这样做过N多次了
[解决办法]
我觉得java查找dll不是从classpath上查找的, 而是从系统的搜索路径上找,搜索路径是进程的工作目录, 当前目录, system32, windows和path指向的目录, 所有, 你的程序运行后应该把dll放到这些目录中的一个就可以找到, 根据是java doc说,

* Loads a code file with the specified filename from the local file
* system as a dynamic library. The filename
* argument must be a complete path name.

* Loads the system library specified by the <code> libname </code>
* argument. The manner in which a library name is mapped to the
* actual system library is system dependent.

但是, 我没有试验

[解决办法]
我也碰到这个问题,帮你顶下
[解决办法]
我也碰到了
帮你顶一下

热点排行